将完整日期转换为字符串到SQL Server日期
我有一个表,其中列将完整日期转换为字符串到SQL Server日期,sql,sql-server,date,type-conversion,Sql,Sql Server,Date,Type Conversion,我有一个表,其中列EPDATA,varchar(25)字段的格式如下 如何将此格式转换为YYYY-MM-DD 例如2020-12-16将其转换为日期数据类型,并按如下方式格式化: SELECT FORMAT(CAST(EPDATE AS DATE) ,'yyyy-MM-dd') FROM tablename 将其转换为日期数据类型并按如下方式格式化: SELECT FORMAT(CAST(EPDATE AS DATE) ,'yyyy-MM-dd') FROM tablename 使用格式
EPDATA
,varchar(25)
字段的格式如下
如何将此格式转换为YYYY-MM-DD
例如
2020-12-16
将其转换为日期数据类型,并按如下方式格式化:
SELECT FORMAT(CAST(EPDATE AS DATE) ,'yyyy-MM-dd')
FROM tablename
将其转换为日期数据类型并按如下方式格式化:
SELECT FORMAT(CAST(EPDATE AS DATE) ,'yyyy-MM-dd')
FROM tablename
使用格式
Select FORMAT(COLUMNNAME, 'YYYY-MM-dd')
SELECT CONVERT(varchar, COLUMNNAME, 23)
此外,通过转换
Select FORMAT(COLUMNNAME, 'YYYY-MM-dd')
SELECT CONVERT(varchar, COLUMNNAME, 23)
使用格式
Select FORMAT(COLUMNNAME, 'YYYY-MM-dd')
SELECT CONVERT(varchar, COLUMNNAME, 23)
此外,通过转换
Select FORMAT(COLUMNNAME, 'YYYY-MM-dd')
SELECT CONVERT(varchar, COLUMNNAME, 23)
您只需使用try\u conver() 仅供参考:
try\u convert()
如果转换失败,将返回空值
示例:
Select try_convert(date,'Jun 10 2016 12:00AM')
返回
2016-06-10
您只需使用try\u conver() 仅供参考:
try\u convert()
如果转换失败,将返回空值
示例:
Select try_convert(date,'Jun 10 2016 12:00AM')
返回
2016-06-10
您可以使用此查询转换所需的方式
CASE
WHEN SUBSTRING(#date,1,3)='Jan' THEN SUBSTRING(#date,8,11)+'-01-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Feb' THEN SUBSTRING(#date,8,11)+'-02-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Mar' THEN SUBSTRING(#date,8,11)+'-03-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Apr' THEN SUBSTRING(#date,8,11)+'-04-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='May' THEN SUBSTRING(#date,8,11)+'-05-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='June'THEN SUBSTRING(#date,8,11)+'-06-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='July'THEN SUBSTRING(#date,8,11)+'-07-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Aug' THEN SUBSTRING(#date,8,11)+'-08-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Sep' THEN SUBSTRING(#date,8,11)+'-09-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Oct' THEN SUBSTRING(#date,8,11)+'-10-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Nov' THEN SUBSTRING(#date,8,11)+'-11-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Dec' THEN SUBSTRING(#date,8,11)+'-12-'+SUBSTRING(#date,5,6)
END
您可以使用此查询转换所需的方式
CASE
WHEN SUBSTRING(#date,1,3)='Jan' THEN SUBSTRING(#date,8,11)+'-01-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Feb' THEN SUBSTRING(#date,8,11)+'-02-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Mar' THEN SUBSTRING(#date,8,11)+'-03-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Apr' THEN SUBSTRING(#date,8,11)+'-04-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='May' THEN SUBSTRING(#date,8,11)+'-05-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='June'THEN SUBSTRING(#date,8,11)+'-06-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='July'THEN SUBSTRING(#date,8,11)+'-07-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Aug' THEN SUBSTRING(#date,8,11)+'-08-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Sep' THEN SUBSTRING(#date,8,11)+'-09-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Oct' THEN SUBSTRING(#date,8,11)+'-10-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Nov' THEN SUBSTRING(#date,8,11)+'-11-'+SUBSTRING(#date,5,6)
WHEN SUBSTRING(#date,1,3)='Dec' THEN SUBSTRING(#date,8,11)+'-12-'+SUBSTRING(#date,5,6)
END
使用try_convert()示例:选择try_convert(日期,'Jun 10 2016 12:00AM')哇,很简单,它成功了!!我在搜索类似的东西,但只找到了甲骨文!请回答我的问题,这样我就可以接受了@JohnCappellettiUse try_convert()示例:选择try_convert(日期,'Jun 10 2016 12:00AM')哇,很简单,很有效!!我在搜索类似的东西,但只找到了甲骨文!请回答我的问题,这样我就可以接受了@约翰卡佩莱蒂