我有一个 VARCHAR 字段,实际上在我的 SQL 表中有很多字段,其中日期是以下格式 YYYY 的 VARCHAR。唰��
我从 VARCHAR(替换(mc.CANXREASONDATE, '.', '-'( 开始,但我不知道如何将其更改为日期
我已经用谷歌搜索过,但找不到答案
任何帮助将不胜感激
尝试cast()
日期:
CAST(REPLACE(mc.CANXREASONDATE, '.', '-' AS DATE)
格式 YYYY-MM-DD 是大多数(但并非所有(数据库都能识别的 ISO 8601 标准日期格式。
如果确实要更改日期列本身,可以使用ALTER TABLE
,语法如下:
ALTER TABLE mc ALTER COLUMN CANXREASONDATE DATE
当然,这些语句的确切语法可能因数据库而异。 但这应该给你一些方向。
编辑:
在 SQL Server 中,您可以使用以下方法查找错误值:
SELECT mc.CANXREASONDATE
FROM mc
WHERE TRY_CAST(REPLACE(mc.CANXREASONDATE, '.', '-' AS DATE) IS NULL;
可以在查询中使用TRY_CAST()
或修复数据。