【发布时间】:2019-06-05 07:45:32
【问题描述】:
您好,我的“用户”表中有一个名为“PersonalDetails_DOB”的列。
数据类型为 NVARCHAR(10),数据当前的“格式”为 DD/MM/YYYY。
我想将格式更改为 YYYY.MM.DD 或 YYYY-MM-DD,我该怎么做?
我已经尝试在 SQL 中运行查询:
SELECT CONVERT(nvarchar(10), PersonalDetails_DOB, 102) as
'PersonalDetails_DOB' FROM Users;
什么都没有发生,也不会改变任何日期,例如06/02/1967 至 1967.02.06
【问题讨论】:
-
您的查询将
PersonalDetails_DOB视为日期,而实际上它是字符串。最好将其真正存储为DATE。只要将其存储为字符串 (NVARCHAR),您要么必须使用字符串操作来交换字符串部分,要么先将其转换为日期,然后再将其转换为另一个字符串。 -
@Zack 您需要先更新日期格式的值,然后才能更改列的数据类型。看我的回答。
标签: sql sql-server string date format