首页 > 解决方案 > 从 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

标签: sqloraclesql-update

解决方案


您可以使用to_char()

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

推荐阅读