2011-06-17 243 views
1

我期待的日期從甲YYYYMMDD轉換爲毫米DD YYYYSQL日期轉換

我發現相當few的SQL語句resources。但我太新了,不知道我在找什麼。

我有以下的表現,我需要它,拍出來的日期

select Date_of_hire from Employee where employeeID='input' 
+4

有沒有理由不在應用程序代碼中執行此操作? – Oded

+0

該應用程序不是我正在運行查詢的數據庫的本地數據庫。我想我只能運行基本的SQL查詢並將它們吐出到界面。我會研究這個,看看我能不能做到這一點。謝謝 – Nixphoe

回答

1

我碰到的這幾次從(存儲爲串號)到SQL表中的AS400導入數據,其中沒有中間的任何應用程序做格式化,所以我可以看到你爲什麼想要這樣做。
。看看演員和轉換()(http://msdn.microsoft.com/en-us/library/ms187928.aspx

select Convert(varchar,Cast(Date_of_hire as datetime) ,101) as Date_of_hire from Employee where employeeID='input' 

這將格式化像01/01/2001。
轉換的問題在於它如何對其進行格式化確實受到限制。
要從這樣的字符串中獲取日期,您可以將轉換爲日期時間並轉換爲日期時間。

+0

謝謝,演員和日期時間正是我所需要的。 – Nixphoe

+0

很高興我能幫到你 – AndyD273

3

選擇日期格式的作業最好在表示層完成(表單應用程序,您的ASP應用程序,您的報告等)。讓SQL簡單地返回DATETIME字段,並通過適當地設置輸出您的應用程序以任何您喜歡的格式呈現它。

+0

該應用程序不是我正在運行查詢的數據庫的本地數據庫。所以我不確定我能否做到這一點。我會研究這個。謝謝你的提示! – Nixphoe

1

這將工作:

select replace(convert(varchar, Date_of_hire, 101), '/', ' ') 
from Employee where employeeID='input' 
4
SELECT REPLACE(CONVERT(VARCHAR(10), requested, 110), '-', ' ') AS hiredate 

看看http://www.sql-server-helper.com/tips/date-formats.aspx以備將來參考。請注意,這相當於

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 101), '/', ' ') AS hiredate 
+0

轉換會不會在sql表中改變什麼呢? – Nixphoe

+1

僅對插入,更新或刪除命令發生表的更改,因此簡單的選擇無法更改數據 – Mark

+1

它不會更改SQL表中的任何內容。 – tofutim