tsql尽可能将字符串转换为日期
我有一个列要导入到Azure SQL DBtsql尽可能将字符串转换为日期,tsql,azure-sql-database,Tsql,Azure Sql Database,我有一个列要导入到Azure SQL DB中,该数据库应该只包含日期,但当然包含错误 在TSQL中,我想做一些类似的事情:如果可能,则转换为日期,否则为空 有人知道一个测试字符串到日期的可转换性的语句吗?使用TryCast或Isdate select try_Cast('test' as date) select try_Cast('4' as date) select case when ISDATE('test')=1 then cast('test' as date) else n
中,该数据库应该只包含日期,但当然包含错误
在TSQL
中,我想做一些类似的事情:如果可能,则转换为日期,否则为空
有人知道一个测试字符串到日期的可转换性的语句吗?使用TryCast或Isdate
select
try_Cast('test' as date)
select try_Cast('4' as date)
select case when ISDATE('test')=1 then cast('test' as date) else null end
如果表达式不是预期的格式,即不允许表达式的显式转换,则TryCast将失败
select
try_cast( 4 as xml)
select try_Cast(4 as date)
您可以使用:
返回表达式的结果,转换为请求的数据类型,如果转换失败,则返回null。使用TRY\u PARSE
仅用于从字符串转换为日期/时间和数字类型
此外,您还可以添加文化:
SELECT TRY_PARSE('10/25/2015' AS DATE USING 'en-US')
和进口:
INSERT INTO target_table(date_column, ...)
SELECT TRY_PARSE(date_string_column AS DATE) ...
FROM source_table
...
谢谢,这是我一直在寻找的答案。这更好。谢谢你需要接受任何一个对你有帮助的答案,否则这个问题将显示为未回答。如果你对下面的任何答案不满意,你可能需要更新问题,了解下面的答案没有解决的问题
INSERT INTO target_table(date_column, ...)
SELECT TRY_PARSE(date_string_column AS DATE) ...
FROM source_table
...