如何将最后一秒添加到日期?

Fir*_*tex 0 sql oracle

是否有可能在今天的最后一天添加这样的东西?

假设我有不同时间的约会,我需要将每个日期设置为时间23:59:59 ...

可能吗?

谢谢

ppe*_*rka 6

如果@a_horse_with_no_name提出解决方案证明是慢的,那么应该可以这样做:

+ 1天-1秒是我遵循的逻辑,以获得该结果,没有字符串连接:

SELECT trunc(SYSDATE) + 1 - (INTERVAL '1' SECOND) FROM DUAL
Run Code Online (Sandbox Code Playgroud)

SQL小提琴

翻译成UPDATE

UPDATE MY_TABLE 
SET MY_DATE_COLUMN = trunc(MY_DATE_COLUMN) + 1 - (INTERVAL '1' SECOND) 
Run Code Online (Sandbox Code Playgroud)

请记住,可维护性对于编写软件至关重要,阅读本文比提出的其他解决方案要困难得多.

推荐阅读


a_h*_*ame 5

update the_table
   set the_date_column = to_date(to_char(the_date_column, 'yyyy-mm-dd')||' 23:59:59', 'yyyy-mm-dd hh24:mi:ss');
Run Code Online (Sandbox Code Playgroud)