2013-01-16 332 views
0

我試圖找到一種方法來提取字符串的第一部分行和分隔日期。以下是一些數據的例子。SQL將字符串轉換爲日期

17/10/12 lskell Still waiting for one more signature on the 

我已經嘗試鑄造整個領域作爲日期,並轉換爲日期,但這些失敗?

有沒有人有任何想法?

+5

您正在使用哪個數據庫? – beny23

+0

使用MS SQL 2005 –

回答

0

嘗試此MySQL的

DATE_FORMAT(STR_TO_DATE(SUBSTRING_INDEX(columnname,' ',1), '%d/%m/%y'), '%Y-%m-%d') 
0

(假定日期在這種格式)

-- MYSQL: 

SELECT Str_to_Date(Left(yourstring,8),'%d/%m/%y') from yourtable; 

-- Oracle 

SELECT TO_DATE(left(yourstring,8),'dd/mm/yy') 
from your table; 

--- sql server 
SELECT CONVERT(DATETIME,left(yourstring,8),120) from your table; 
+0

檢查此以及http://www.sqlusa.com/bestpractices/datetimeconversion/和此http://msdn.microsoft.com/en-us/library/ms187928.aspx – bonCodigo

0

如果你知道

  • 字符串中的第一個 「字」 將總是是約會
  • t他日期將總是從字符串的其餘部分用空格隔開
  • 日將有一個統一的格式
  • 你在MySQL

工作那就試試這個:

SELECT CAST(SUBSTRING_INDEX(myfield, ' ', 1) AS DATE) adate FROM mytable; 
0

Try:

SELECT SUBSTRING('10/17/12 lskell Still waiting for one more signature on the', 1, 8)