對於多個基本問題的道歉 - 我對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