sql - 在 SQL 查询中将 Nvarchar DD/MM/YYYY 转换为 YYYY-MM-DD

标签 sql sql-server string date format

您好,我的“用户”表中有一个名为“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;

什么也没发生,也没有改变任何日期,例如1967年6月2日至1967年2月6日

最佳答案

您需要两个 convert() 函数:

SELECT PersonalDetails_DOB, 
       CONVERT(VARCHAR(10), CONVERT(DATE, PersonalDetails_DOB, 103), 102)
FROM Users;

关于sql - 在 SQL 查询中将 Nvarchar DD/MM/YYYY 转换为 YYYY-MM-DD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128691/

相关文章:

sql - 使用来自另一个数据库的数据更新字段

Java double 到具有特定精度的字符串

c - 如何在C中的结构中打印字符串

.net - Azure SQL V12 的最佳流畅 NHibernate 配置?

mysql - SQL:防止数据显示有条件

mysql - MySQL无法添加外键?

java - SQL中如何判断一个表是否包含一个值?

c# - .net - 棘手的 sql 事务(SQL Server,但也考虑到 Oracle,稍后再讲)

C++使用find(str,index)计算字符串中char的出现次数

sql - postgres 从间接相关的表中删除