关于大小写的问题,建议使用大写,因为在oracle的beautifier过程中会将小写转变为大写,直接写成大写就省去中间的步骤,节省时间。
1、date里面只是存储对应时间的内容,并不能指定以什么样的格式进行存储;但是可以指定存储到哪些时间段
在这里插入代码片
2、plsql可以指定显示形式,就是能修改select查询出来的date数据的形式
这里只是对查询的数据进行展示格式的修改,并不影响存储
3、trunc能对date类型的数据进行截取操作,
4、to_date是对字符串格式转换成date格式,是不是都需要格式一模一样?
好像也不需要
select to_date('2004/05/07 13:23:44','yyyy/mm-dd hh24:mi:ss')from dual
5、to_char是对时间格式转换成字符串格式,是不是两者的格式要一致?
不需要格式一致,这里的to_char只是相当于提取’yyyy-mm-dd hh24:mi:ss’这个格式下,形参对应的实参而已。想要什么就提取什么,可以随意组合。
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串
--Year:
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年(完整的年份)
select to_char(sysdate,'y') as nowYear from dual; //获取时间的年(年份的末位数字)
select to_char(sysdate,'yy') as nowYear from dual; //获取时间的年(年份的最后两位数字)
--Month:
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月()
mm number 两位月 显示值:11
mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov
month spelled out 字符集表示 显示值:11月,若是英文版,显示november
--Day:
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日(当月第几天)
select to_char(sysdate,'ddd') as nowDay from dual; //获取时间的日(当年第几天)
select to_char(sysdate,'day','NLS_DATE_LANGUAGE = American') as nw from dual; //获取英文显示的星期几
dd number 当月第几天 显示值:30
ddd number 当年第几天 显示值:364
dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri
day spelled out 当周第几天全写 显示值: