我想将'Start_date'和'End_date'转换为不同的格式(YYYY-MM-DD HH24:MI:SS),这与其他格式(DD / MM / YYYY HH24:MM)不同。
当我运行以下命令时:
Update blarg
Set test1 = 'test',
test2 = 'test',
Start_Date = To_Date('23/07/2015 22:00','YYYY-MM-DD HH24:MI:SS'),
End_Date = To_Date('24/07/2015 00:00','YYYY-MM-DD HH24:MI:SS')
Where Id = '4';
数据库中的插入包含......
Start_Date = '0023-07-20 15:22:00'
End_Date = '0024-07-20 15:00:00'
我可以理解Oracle可能只是无法检测到初始日期格式并且不知道在哪里放置值,但我很好奇你是否可以告诉Oracle原始日期外卡,然后将其与野外合并你要把它变成卡片。
答案 0 :(得分:1)
因为它是您在代码中使用格式掩码指定的内容:
'YYYY-MM-DD HH24:MI:SS'
请注意,它会从15
2015
所以,当你说:'23 / 07 / 2015`并使用'YYYY-MM-DD'的面具时,会强制它如此:
23
- > YYYY
= 0023
等
所以要解决,重新安排文字日期以适应YYYY-MM-DD
的面具(离开那个作为练习让你学习它: - )
答案 1 :(得分:0)
我想要转换' Start_date'和' End_date'格式不同
您误解了date
(或timestamp
)列的工作原理:
DATE
列没有" 格式" 您选择数据时看到的任何格式都由您正在使用的SQL客户端应用。
如果您想以不同的格式查看日期值,则只需选择它们即可:
select to_char(start_date,'YYYY-MM-DD HH24:MI:SS') as start_date,
to_char(end_date, ,'YYYY-MM-DD HH24:MI:SS') as end_date
from the_table;
如果您始终希望查看格式相似的日期,请更改SQL客户端的配置。