我有一个varchar字段,事实上,在我的sql表中,日期是varchar,格式如下yyyy.mm.dd我已经开始使用varchar(replace(mc.canxreasondate,“.”,“-”),但是我不知道如何将它改为一个日期我在谷歌上搜索过,但找不到答案任何帮助都将不胜感激
ut6juiuv1#
尝试 cast() 约会:
cast()
CAST(REPLACE(mc.CANXREASONDATE, '.', '-' AS DATE)
yyyy-mm-dd格式是大多数但不是所有数据库都能识别的iso8601标准日期格式。如果确实要更改日期列本身,可以使用 ALTER TABLE ,语法如下:
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() 在您的查询或修复数据。
TRY_CAST()
1条答案
按热度按时间ut6juiuv1#
尝试
cast()
约会:yyyy-mm-dd格式是大多数但不是所有数据库都能识别的iso8601标准日期格式。
如果确实要更改日期列本身,可以使用
ALTER TABLE
,语法如下:当然,这些语句的确切语法可能因数据库而异。但这会给你一些方向。
编辑:
在sql server中,可以使用以下方法查找错误值:
你可以用任何一个
TRY_CAST()
在您的查询或修复数据。