Sql-Server
將字元串格式的日期轉換為日期數據類型 sql
我在名為 Date 的列中有值作為 mmddyy 形式的 nvarachar 數據類型,並希望將值轉換為 yyyy-mm-dd 形式的日期數據類型。我可以使用什麼 sql colde 來轉換值?
例如 02121955 -> 1955-02-12
您可以使用SUBSTRING來分離源。然後DATEFROMPARTS會將它們縫合在一起。
一些注意事項:日期不是以該格式或任何其他類似日期的格式在內部保存的。問題說來源是 6 個字元,但範例顯示 8 個。如果您需要找到世紀,則必須為此確定規則。
試試這個:
declare @vardate varchar(100)='02121955' set @vardate= SUBSTRING(@vardate, 1, 2)+'-'+ SUBSTRING(@vardate, 3, 2)+'-'+SUBSTRING(@vardate, 5, 4) select CONVERT(date, @vardate) as dataconverted
這應該為整個專欄做這項工作
UPDATE myTable SET columnName = SUBSTRING(columnName, 1, 2)+'-'+ SUBSTRING(columnName, 3, 2)+'-'+SUBSTRING(columnName, 5, 4) ALTER TABLE myTable ALTER COLUMN columnName date