繁体   English   中英

从 oracle-sql 中的时间戳日期列中提取日期

[英]extracting day from timestamp date column in oracle-sql

我在下面有一个表格样本

ENABLED    FILE_NAME            SCHEDULED_DATE
1          TEST_20201101.CSV    01-NOV-20 11.00.00 PM
1          TEST_20201102.CSV    02-NOV-20 11.00.00 PM
1          TEST_20201103.CSV    03-NOV-20 11.00.00 PM
1          TEST_20201104.CSV    04-NOV-20 11.00.00 PM
1          TEST_20201105.CSV    05-NOV-20 11.00.00 PM
1          TEST_20201106.CSV    06-NOV-20 11.00.00 PM
..
..
..data till Nov30.

我想在周六/周日的所有日子里将启用的列更新为 0。 尝试使用 extract() 但它返回日期的天数,例如:extract on 2020-Nov-27 will return 27

您可以使用to_char()

update t
    set enabled = 1
    where to_char(scheduled_date, 'Dy') in ('Sun', 'Sat');

以下查询可以帮助您从某个时间获取特定日期

 select to_char(SHCEDULED_DATE,'Day') from date_stack

下面是更新

update date_stack set enabled='0' where SHCEDULED_DATE in (select SHCEDULED_DATE from date_stack where trim(to_char(SHCEDULED_DATE,'Day'))='Saturday' or trim(to_char(SHCEDULED_DATE,'Day'))='Sunday' )

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM