我有一個varchar
列,其中某些值的格式爲mm/dd/yyyy
,有些值的格式爲yyyymmdd
。SQL Server日期格式yyyymmdd
我想將所有mm/dd/yyyy
日期轉換爲yyyymmdd
格式。做這個的最好方式是什麼?由於
表是Employees
和列是DOB
我有一個varchar
列,其中某些值的格式爲mm/dd/yyyy
,有些值的格式爲yyyymmdd
。SQL Server日期格式yyyymmdd
我想將所有mm/dd/yyyy
日期轉換爲yyyymmdd
格式。做這個的最好方式是什麼?由於
表是Employees
和列是DOB
假設你的「日期」一欄是不實際的日期。
Select convert(varchar(8),cast('12/24/2016' as date),112)
或
Select format(cast('12/24/2016' as date),'yyyyMMdd')
返回
20161224
在SQL Server中,你可以這樣做:
select coalesce(format(try_convert(date, col, 112), 'yyyyMMdd'), col)
這嘗試的轉換,保持前值(如果可用)。
注意:我希望你學到了關於將日期存儲爲日期而不是字符串的課程。
試試這個....
SELECT FORMAT(CAST(DOB AS DATE),'yyyyMMdd') FROM Employees;
DECLARE @v DATE= '3/15/2013'
SELECT CONVERT(VARCHAR(10), @v, 112)
你可以將任何日期格式或日期時間格式年月日,無定界符
你可以添加更多的細節? – Jonas
實際'date' /'datetime'值列別沒有格式。你的意思是說你在'char' /'varchar'列中有包含日期文本表示的列嗎? – Dai
不要在varchar列中存儲日期/時間值...請改用適當的數據類型。 – jarlh