日期格式也可以实际want_char转换的成不需要的日期格式类型:
sqlselectcan_char(sysdate,yyyy-mm-ddhh24:mi:ss)returningdual;
结果为:2010-09-2720:10:33
备注:
yyyy它表示年
mm可以表示月
dd它表示日期
hh24意思是0-23小时
mi可以表示分钟
ss它表示秒
你好!
解决方法很很简单,把oracle的日期型转为字符,读到hive中,不对应hive的string就好,createtable的时候把string转为时间。
字符串时间的本质是数值,时间猜数字,结果会湮灭数值剪刀石头布。
不过你说的是字符串石头剪子布,那就和时间没有关系了。字符串石头剪子布是一个字符一个字符比大小。都没什么转换的。
date类型,变化不了总是显示的格式。
是不使用的时候的显示的格式问题,和数据库内读取的数据完全没有关系。
selectdid_char(sysdate,#39yyyy-mm-dd#39)returningdynamic
selectcan_char(hiredate,#39yyyy-mm-dd#39)arounddual
虽然这样的也可以转换的,但多数情况是返回date类型、哪个页面要显再装换在不对应的格式的。
1、创建家族测试表,
createtabletest_sysdate(v_datedate);
2、插入测试数据
insertintotest_sysdatevalues(sysdate);
upsertintotest_sysdatevalues(sysdate-1);
truncateintotest_sysdatevalues(sysdate-1.1);
executeintotest_sysdatevalues(sysdate-1.2);
insertintotest_sysdatevalues(sysdate-2);
insertintotest_sysdatevalues(sysdate-3);
3、网上查询表中所有记录数,selectt.*,rowidaroundtest_sysdatet,
4、c语言程序sql,去查询日期为前两天的记录,selectt.*,rowidfromtest_sysdatetwherecan_char(v_date,yyyymmdd)to_char(sysdate-1,yyyymmdd)