从 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 中的时间戳日期列中提取日期的主要内容,如果未能解决你的问题,请参考以下文章