SQL Server 2017:如何将日期列转换为星期几名称
SQL中批量将日期列转换为星期几名称的方法
当然可以自动处理整列的日期转换,完全不需要手动逐个操作。不同SQL数据库有对应的内置函数,直接作用于日期列就能批量生成星期名称,以下是主流数据库的实现方式:
SQL Server
用DATENAME(WEEKDAY, 日期列)直接获取星期名称,支持批量处理:
-- 查询时直接生成星期名称列 SELECT 原日期列, DATENAME(WEEKDAY, 原日期列) AS 星期名称 FROM 你的表名; -- 如果要将结果永久保存到表中 ALTER TABLE 你的表名 ADD 星期名称 NVARCHAR(10); UPDATE 你的表名 SET 星期名称 = DATENAME(WEEKDAY, 原日期列);
MySQL
使用DAYNAME()函数:
-- 查询生成 SELECT 原日期列, DAYNAME(原日期列) AS 星期名称 FROM 你的表名; -- 新增列并批量更新 ALTER TABLE 你的表名 ADD 星期名称 VARCHAR(10); UPDATE 你的表名 SET 星期名称 = DAYNAME(原日期列);
PostgreSQL
通过TO_CHAR()函数格式化日期为星期名称:
-- 查询生成(默认带尾部空格,用FMDay去除) SELECT 原日期列, TO_CHAR(原日期列, 'FMDay') AS 星期名称 FROM 你的表名; -- 新增列并批量更新 ALTER TABLE 你的表名 ADD 星期名称 VARCHAR(10); UPDATE 你的表名 SET 星期名称 = TO_CHAR(原日期列, 'FMDay');
这些函数会自动遍历表中所有行的日期值,批量完成转换,不需要手动处理每一条数据。如果只是临时查看转换结果,用SELECT语句即可;如果需要长期存储,执行新增列+批量更新的操作就行。
内容的提问来源于stack exchange,提问作者Conor
相关产品推荐
相关产品推荐

