2016-09-27 55 views
0

我有一個像這樣用繩子一列:AUG2016將字符串轉換成日期時每月在信

如何將此轉換在那樣08-01-2016約會?

+0

當你轉換時會發生什麼? – ajeh

+0

我得到這個:轉換日期和/或時間從字符串轉換失敗。 – Rich

+0

你正在使用什麼/模型/版本的SQL服務器? – ajeh

回答

3

在Microsoft SQL Server 2012,你可以先走一步,轉換:

select convert(datetime, 'aug2016') as dt 

dt 
----------------------- 
2016-08-01 00:00:00.000 

(1 row(s) affected) 
+0

我過去了,我試圖單獨轉換月份和年份。謝謝 – Rich

+0

啊,明白了!聽起來就像總是試圖讓SQL首先爲你做所有事情,然後才能推出自己的處理器。懶人贏了! – ajeh

0

你可以在MySQL寫下面的查詢。

select date_format(str_to_date("AUG2016", '%b%Y'), '%m-01-%Y') 

這裏str_to_date(「AUG2016」,'%b%Y')將導致「2016-08-00」。 所以我們需要格式化日期,這就是爲什麼我們需要使用date_format()並指定所需的格式。

+0

'轉換(日期時間,'AUG2016')'不適合你嗎?哦,我明白了,你實際上正在談論MySQL,而OP則與MS SQL一起工作。 – ajeh