如何在 SQL 中提取周数
问题
您有一个包含特定格式(MM/DD/YYYY)日期的列,并且您无法检索周数。 to_char(to_date(TRANSDATE), 'w') 查询返回空值。
解决方案
要提取周数,请按照以下步骤操作:
-
使用以下命令将 VARCHAR2 日期转换为真正的 DATE 数据类型TO_DATE().
1 | TO_DATE( '01/02/2012' , 'MM/DD/YYYY' )
|
登录后复制
-
将 DATE 转换回具有所需掩码的 VARCHAR2:
1 | TO_CHAR(TO_DATE( '01/02/2012' , 'MM/DD/YYYY' ), 'WW' )
|
登录后复制
这将返回一年中的周数,第一周从 1 开始。
额外周数选项
除了“WW”之外,您还可以使用其他参数来提取周数:
- “W”:每月的第几周,从 1 开始。
- 'IW':一年中的 ISO 周,从 1 或53.
用法示例:
1 2 3 4 5 | -- Week of the month
TO_CHAR(TO_DATE( '01/02/2012' , 'MM/DD/YYYY' ), 'W' )
-- ISO week of the year
TO_CHAR(TO_DATE( '01/02/2012' , 'MM/DD/YYYY' ), 'IW' )
|
登录后复制
以上是如何从 SQL 中的日期列获取周数?的详细内容。更多信息请关注PHP中文网其他相关文章!