gpt4 book ai didi

sql-server - SQL Server - 获取所有日期格式无效的记录

转载 作者:行者123 更新时间:2023-12-02 08:34:13 26 4
gpt4 key购买 nike

在现有数据库中有一个字段 CreatedOn varchar(10) 包含一些无效日期,例如 99/99/9999 等等。

我想将所有无效日期更改为 1990 年 1 月 1 日,因此我可以使用此列将此列转换为日期时间

ALTER TABLE xyzAlter Column CreatedOn DateTime

但它给出了错误:

Msg 242, Level 16, State 3, Line 2
The conversion of a varchar data type to a datetime
data type resulted in an out-of-range value.

有什么方法可以获取所有日期时间格式不正确的记录?

最佳答案

试试这个:

select * from yourTable WHERE ISDATE(yourColumn)!=1

见:ISDATE() ,如果表达式是有效的日期、时间或日期时间值,则返回 1,否则返回 0。

编辑更新然后更改您的列试试这个:

--table name: xyz
--column name: CreatedOn varchar(10) to datetime

UPDATE xyz
SET CreatedOn ='1990/01/01'
WHERE ISDATE(CreatedOn)!=1
GO
ALTER TABLE xyz Alter Column CreatedOn DateTime
GO

关于sql-server - SQL Server - 获取所有日期格式无效的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23410432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com