一尘不染

将一天的名称转换为其整数表示

sql

在SQL Server中,您可以使用DATENAME函数以字符串形式获取星期几。

declare @date datetime
set @date = '12/16/08'
select datename(dw, @date)

返回“星期二”

并且您可以使用DATEPART函数将星期几作为整数

declare @date datetime
set @date = '12/16/08'
select datepart(dw, @date)

哪个返回3

但是说我有一个包含字符串“
Tuesday”的varchar,我想将其转换为3的整数表示形式。当然,我可以写出转换而没有太多麻烦,但是我宁愿使用内置函数。是否存在这样的功能?


阅读 136

收藏
2021-05-23

共1个答案

一尘不染

与其编写函数,不如创建具有描述和数值的星期几表。然后,您可以简单地加入表格以获取数字。

而且,如果您将日期存储为多种方式(可能在基于字符的系统中),则可以将所有变量都放入表中,因此,星期二(星期二),星期二都将映射到相同的整数。

2021-05-23