2011-04-06 322 views
0

在表中我有一個存儲的字符串列「MM/DD/YYYY HH:MM:SS」,我正在查詢返回「MM/DD/YYYY「部分。MySQL:SQL查詢從日期/時間戳返回日期列

任何想法?

+1

@ user693121 - 這是MS SQL SERVER? – 2011-04-06 14:35:00

+0

是的。並且事實證明這是DATETIME字段而不是字符串 – Demasterpl 2011-04-06 14:54:24

回答

3

如果列類型是charvarchar,然後

SELECT LEFT(colname, 10)

就足夠了。 如果它是一個datetime類型,然後嘗試

SELECT DATE_FORMAT(colname , "%d/%m/%Y")

+0

DATE_FORMAT'不是公認的內置函數名稱:( – Demasterpl 2011-04-06 14:51:25

+0

DATE_FORMAT'確實是MySQL函數,您必須添加了額外的引號或其他內容 – 2011-04-06 15:02:41

+0

DATE_FORMAT不是與Microsoft SQL 2005兼容。嘗試使用「CONVERT(VARCHAR(10),列,101)AS [MM/DD/YYYY]」的變體,但VARCHAR和CHAR也不能識別。 – Demasterpl 2011-04-06 17:51:51

0

我認爲你可以使用子!

SELECT SUBSTRING(TimeStamp,7,10);

0

,如果它是一個字符串使用SUBSRT()LEFT()提取所需的部分,但是這將是明智的,有它存儲爲DATATIME型

1

你應該使用MySQL的日期時間字段,而不是一個字符串字段,真的。這將允許您應用日期和時間函數,這在處理時態數據時有很大的幫助。因爲你的數據是一個字符串類型,而不是MySQL Isodate格式(YYYY-MM-DD),所以你只能使用字符串函數,如SUBSTRING()和它的專門化(LEFT,...)。 )。

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html 日期和時間功能概述

http://dev.mysql.com/doc/refman/5.5/en/string-functions.html 字符串函數

+0

原來他們是DATETIME字段。我會申請什麼? – Demasterpl 2011-04-06 14:47:30