SQL 服务器 CONVERT 和 CAST 未返回正确的日期格式
SQL Server CONVERT and CAST not returning the correct date format
我在 SQL 服务器中有一个 table,其列 RGSTR_DATE
是 varchar(10)
数据类型,它的值类似于 2016-01-23
, 1998-08-12
,等等...
我想 select 并将这些值转换为 20160123
、19980812
等...
我尝试了 运行 这些查询:
SELECT CONVERT(DATE, CAST(RGSTR_DATE AS DATE), 112)
FROM [project].[dbo].[my_table];
SELECT CONVERT(VARCHAR(10), RGSTR_DATE, 112)
FROM [project].[dbo].[my_table];
但是回来的结果还是2016-01-23
、1998-08-12
等……
我做错了什么?
您正在将 varchar 转换为日期,但您需要做的只是删除连字符。
SELECT REPLACE(RGSTR_DATE, '-', '')
FROM [project].[dbo].[my_table]
你尝试了吗
SELECT CONVERT(VARCHAR(10),cast(RGSTR_DATE as date),112)
我在 SQL 服务器中有一个 table,其列 RGSTR_DATE
是 varchar(10)
数据类型,它的值类似于 2016-01-23
, 1998-08-12
,等等...
我想 select 并将这些值转换为 20160123
、19980812
等...
我尝试了 运行 这些查询:
SELECT CONVERT(DATE, CAST(RGSTR_DATE AS DATE), 112)
FROM [project].[dbo].[my_table];
SELECT CONVERT(VARCHAR(10), RGSTR_DATE, 112)
FROM [project].[dbo].[my_table];
但是回来的结果还是2016-01-23
、1998-08-12
等……
我做错了什么?
您正在将 varchar 转换为日期,但您需要做的只是删除连字符。
SELECT REPLACE(RGSTR_DATE, '-', '')
FROM [project].[dbo].[my_table]
你尝试了吗
SELECT CONVERT(VARCHAR(10),cast(RGSTR_DATE as date),112)