当某些记录可以进行有效转换而其他记录不能进行有效转换时,在SQL中工作的DateValue等价物?

当某些记录可以进行有效转换而其他记录不能进行有效转换时,在SQL中工作的DateValue等价物?,sql,ms-access,Sql,Ms Access,我有一组日期,其中一些记录有一个有效的可转换为日期文本字段,而其他记录没有。例如,“2019年1月1日”,下一个记录可能是“1919年1月1日”,下一个记录可能是“2010年前”,等等 我需要将有效值转换为日期字段 在MSAccess中,我可以执行更新,将DateField设置为DateValue(txtDateField)以转换要转换的行。对于不正确的非日期类型文本,Access会将DateField保留为Null,但转换好的行,这是大多数 如何在SQL中实现这一点?我尝试了convert或c

我有一组日期,其中一些记录有一个有效的可转换为日期文本字段,而其他记录没有。例如,“2019年1月1日”,下一个记录可能是“1919年1月1日”,下一个记录可能是“2010年前”,等等

我需要将有效值转换为日期字段

在MSAccess中,我可以执行更新,将
DateField
设置为
DateValue(txtDateField)
以转换要转换的行。对于不正确的非日期类型文本,Access会将
DateField
保留为Null,但转换好的行,这是大多数

如何在SQL中实现这一点?我尝试了convert或cast函数,但它在update甚至select中出错,因为某些行无效。如何选择有效行

另外,仅供参考,我甚至不知道数据值实际上是什么。我只需要转换那些有效的,保留那些有坏值的


基本上,用户表单允许将文本输入到他们现在希望按日期搜索的字段中。好的值可以通过
DateValue
函数在Access中轻松转换,在SQL中可以用任何方法进行转换?

用您使用的数据库标记您的问题。如果您使用的是MS SQL Server,则可以使用
IsDate
。编辑:找到它。我可以在IsDate()函数中使用where子句,仅在IsDate(txtDateField)=1时运行转换或强制转换