有没有办法只将时间(没有日期)插入“日期”类型的 SQL 字段
我尝试插入:
13:00
和
01:00
和
13:00pm
和
01:00pm
但不断收到错误:
Not A Valid Month
最佳答案
问题出在文字上。对于日期/时间值,Oracle 期望值采用 ddMMMyyyy 形式。 (或者,您可以使用表达式 DATE '2001-01-01
。文字值的解释为 here 。)没有日期的时间似乎没有默认格式。
换句话说,使用 cast('1/1/2001' as date) 可能会出现相同的错误
。
相反,请使用to_date()
函数:
select to_date('10:00', 'hh:mi')
from dual
这为您提供了更大的格式灵活性。
此外,正如 Ben 在评论中指出的那样,这将为您提供当前日期和指定时间。
关于sql - 将 TIME 插入 Oracle SQL、DATE 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045600/