当更新旧日期到新日期时,我得到
SQL错误:ORA-00932:不一致的数据类型:预期日期获取字符00932。00000-“不一致的数据类型:预期%s得到%s”
UPDATE test
SET date1 =
CASE date1
WHEN '22-OCT-19' THEN '23-OCT-19'
WHEN '21-OCT-19' THEN '22-OCT-19'
WHEN '20-OCT-19' THEN '21-OCT-19'
WHEN '17-OCT-19' THEN '18-OCT-19'
WHEN '06-OCT-19' THEN '07-OCT-19'
WHEN '05-OCT-19' THEN '06-OCT-19'
WHEN '04-OCT-19' THEN '05-OCT-19'
WHEN '03-OCT-19' THEN '04-OCT-19'
WHEN '02-OCT-19' THEN '03-OCT-19'
WHEN '29-SEP-19' THEN '30-SEP-19'
WHEN '27-SEP-19' THEN '28-SEP-19'
END;
这将工作:
update test
set date1 =
(
case date1
when to_date('22-OCT-19', 'dd-mon-yyyy') THEN to_date('23-OCT-19', 'dd-mon-yyyy')
else date1
end
);
这是演示
使用显式日期文字对逻辑进行措辞是否解决了问题?
UPDATE test
SET date1 = (CASE date1
WHEN DATE '2019-10-22' THEN DATE '2019-10-23'
WHEN DATE '2019-10-21' THEN DATE '2019-10-22'
. . .
END);
正如错误消息所暗示的,您混合了日期和varchars。
您当前的查询将把案例中未包含的所有其他日期更新为NULL。最好对日期文字使用WHERE条件,然后只需添加1天:
UPDATE test
SET date1 = date1 + 1
WHERE DATE1 IN
( DATE '2019-10-22'
,DATE '2019-10-21'
,DATE '2019-10-20'
, etc.
)
我正在使用Hibernate标准API并使用投影获得如下所示的结果: 输出: 这段代码按预期工作,但我想在唯一日期记录的基础上运行distinct函数,这意味着distinct函数不应该考虑时间值,而应该只考虑日期值。所以out put应该是这样的: 知道怎么做吗?
我需要我的Java Android应用程序来提取和比较日期,但是要获得正确的日期一团糟。 实际运行时间:2022年1月10日周一22:29 结果: 日期当前时间=星期一 一月 10 22:29:53 GMT 01:00 2022 (正确日期) 日历.get(日历年)=2022.0.10 21:29:53 (错误的月份,错误的小时) 当前时间.getyear()=122.0.1 22:29:53 (
在JavaScript中,为什么这两行代码使用不同的时区? 返回太阳9月12日2021 11:00 :03 GMT-0400(东部夏时制) 返回太阳9月12 2021 10:00:03格林尼治标准时间0500(东部标准时间) 为什么它们不是都在GMT-0500(东部标准时间)??? 这些行在代码中是一个接一个的,所以它们由同一个服务器运行。 谢谢"
我有两个字符串格式的日期:说,格式为。比较日期1和日期2的相等性的最佳方法是什么?我不关心时间,只关心日、年、月。我应该将它们转换为即时并进行比较吗?
我在向表单输入日期时遇到了一个问题,我查看了其他帖子,但他们给我的解决方案对我不起作用:(错误指示我一个无效的月份错误。 我尝试使用TO_DATE('...','dd/mm/yyyy'),但通过这样做引发了另一个错误(actualizaoferta.php): 我试了很多方法来输入日期,但什么都没有。 程序 提前致谢:)
问题内容: 我将Java 8与Spring’s 和Oracle 12.1结合使用, 我想更新记录并获取更新的确切时间记录 当前它返回(int)受影响的行数,但是我想要确切的更新日期 我是否必须发送新请求以获取可能不正确的当前时间? 更确切的是将更新日期保存在列中,然后执行另一个SQL 是否有另一个选项可在一个查询中获取更新日期? 显然,我也不想使用从代码获取日期(如),因为服务器时间与数据库时间不