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

Posted

技术标签:

【中文标题】从 oracle-sql 中的时间戳日期列中提取日期【英文标题】:extracting day from timestamp date column in oracle-sql 【发布时间】:2020-11-30 12:20:00 【问题描述】:

我在下面有一个表格示例

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

【问题讨论】:

【参考方案1】:

你可以使用to_char():

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

【讨论】:

【参考方案2】:

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

 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' )

【讨论】:

以上是关于从 oracle-sql 中的时间戳日期列中提取日期的主要内容,如果未能解决你的问题,请参考以下文章

从 MYSQL 上的时间戳中提取日/月/年

如何从R中具有月份名称的时间戳中提取日期

从文件名中提取时间戳并使用 Pig 将其添加到新列(例如日期)中

无法从 BigQuery 中的时间戳中提取日期

如何从java中的字符串时间戳中提取日期和时间

为啥我不能从我的 DataFrame 中的“日期”列中提取月份的列? [复制]