简体   繁体   English

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

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

I have a table sample below我在下面有一个表格样本

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.

I want to update enabled column to 0 for all days where it is Saturday/Sunday.我想在周六/周日的所有日子里将启用的列更新为 0。 Tried using extract() but it returns day number for a date eg: extract on 2020-Nov-27 will return 27尝试使用 extract() 但它返回日期的天数,例如:extract on 2020-Nov-27 will return 27

You can use to_char() :您可以使用to_char()

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

The below query can help you to get the particular day from a time以下查询可以帮助您从某个时间获取特定日期

 select to_char(SHCEDULED_DATE,'Day') from date_stack

Below is to update下面是更新

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