sql-varchar到date,其中分隔符是句点而不是破折号sql

nvbavucw  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(361)

我有一个varchar字段,事实上,在我的sql表中,日期是varchar,格式如下yyyy.mm.dd
我已经开始使用varchar(replace(mc.canxreasondate,“.”,“-”),但是我不知道如何将它改为一个日期
我在谷歌上搜索过,但找不到答案
任何帮助都将不胜感激

ut6juiuv

ut6juiuv1#

尝试 cast() 约会:

CAST(REPLACE(mc.CANXREASONDATE, '.', '-' AS DATE)

yyyy-mm-dd格式是大多数但不是所有数据库都能识别的iso8601标准日期格式。
如果确实要更改日期列本身,可以使用 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() 在您的查询或修复数据。

相关问题