SQL 服务器 CONVERT 和 CAST 未返回正确的日期格式

SQL Server CONVERT and CAST not returning the correct date format

我在 SQL 服务器中有一个 table,其列 RGSTR_DATEvarchar(10) 数据类型,它的值类似于 2016-01-231998-08-12,等等...

我想 select 并将这些值转换为 2016012319980812 等...

我尝试了 运行 这些查询:

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-231998-08-12等……

我做错了什么?

您正在将 varchar 转换为日期,但您需要做的只是删除连字符。

SELECT REPLACE(RGSTR_DATE, '-', '')
FROM [project].[dbo].[my_table]

你尝试了吗

SELECT CONVERT(VARCHAR(10),cast(RGSTR_DATE as date),112)