对于多个基本问题的道歉 - 我对SQL很陌生,仍在努力解决问题。在SQL中循环使用CASE WHEN和REPLACE语句
我想从我的登台表中插入记录到我数据库中的另一个表中,都使用'replace'函数删除源文件中的双引号,并将数据从nvarchar(登台表)转换为datetime2。我不能完全解决如何做到这一点:如果我的循环“情况下,当”内“替换”,如跌破的话,SQL不承认我的数据和空出来:
CASE WHEN ISDATE (REPLACE([Column1], '"', '')) = 1
THEN CONVERT(datetime2, Column1, 103)
ELSE null END
但是,如果我环路我的我的“情况下,当”内“替换”,如下,SQL给我一个错误消息说,它无法为nvarchar转换成DATETIME2:
LTRIM(REPLACE([Column1], '"', '')
,CASE WHEN ISDATE(Column1) = 1 THEN CONVERT(datetime2, Column1, 103)
ELSE null END
我需要使用什么命令/语法为了达成这个?数据字段的一个例子是: “16/10/2017”
它上传到我的临时表为nvarchar的 “16/10/2017”
,我想将其移动到我的表2为DATETIME2: 16/10/2017
你可以张贴一些样本数据和期望的输出? – Leonidas199x
你能够以不太模糊的格式上传数据,例如'yyyymmdd'吗? – iamdave