Sql-Server

將 SQL 日期 MMDDYY varchar 轉換為日期?

  • April 21, 2020

在閱讀本文時,

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017

http://www.sqlusa.com/bestpractices/datetimeconversion/

我找不到答案。

如何將 varchar ‘060118’ (MMDDYY) 轉換為日期?

沒有直接轉換此值的方法,因為當直接轉換為 DATE 時,SQL 隱式假定前兩個字元是年份,並且沒有提供自定義格式遮罩的選項。

您需要首先操作字元串值以生成一個字元串,然後您可以將其轉換為日期時間值。

DECLARE @Val VARCHAR(25) = '060118'

SELECT CONVERT(DATETIME, SUBSTRING(@Val, 5, 2) + SUBSTRING(@Val, 1, 2) + SUBSTRING(@Val, 3, 2) , 101)

Result:
06/01/2018

鑄造和轉換

子串

引用自:https://dba.stackexchange.com/questions/230817