大家好,我对甲骨文还很陌生,需要一个如何做的想法。
假设我有一个文本文件,文件中的值为
“2018年9月24日”“2018年9月23日”
我从Pro*c中读取这些值,然后向其添加29天,因此值现在从20180924更改为20180953。我不希望发生这种情况,我希望将值添加为
TO_DATE('20180924','yyyymmdd')+29 which returns the value as "23-OCT-18"
答案是正确的,但我希望结果也采用相同的YYYYMMDD格式,如20181023。
我该如何实现这一目标?
4条答案
按热度按时间2o7dmzc51#
把它格式化回去。
juud5qan2#
日期没有格式-它们是represented internally by 7 or 8 bytes。
如果你想让一个日期有一个格式,那么你需要把它转换成一个可以格式化的数据类型--比如一个字符串:
当SQL/Plus(或SQL Developer)显示日期数据类型时,它们会隐式地将这些数据类型转换为字符串(因为这比显示原始字节对用户更有意义),并在此隐式转换中使用
NLS_DATE_FORMAT
会话参数作为格式模型。如果要更改此设置,可以用途:然后你的查询:
应该(假设您的SQL客户端使用此设置并且没有自己的内部格式首选项)给予您期望的输出。(注意:这将更改客户端的默认格式,以显示此会话中的所有日期,而不仅仅是这一条语句。)
ffx8fchx3#
收件人字符(抄送联系人出生日期,“年月日”)
vybvopom4#
从EMP中选择目标编号((目标字符(目标日期(聘用日期,_日-月-年'),'年_月-日'));
从EMP中选择目标编号((目标字符(目标日期(聘用日期,_日_月-年'),' YYYYMMDD '))
20201101
从双重选择目标编号((目标字符(目标日期(系统日期,'日-月-年'),'年_月-日'));