2012-12-14 75 views
0

請幫我轉換我的查詢的日期格式。轉換日期格式01-01-1990到01-jan-1990

我查詢

select pr.[Date], p.[Product] 
from tbl_ProTest p 
inner join tbl_Prod2 pr on P.[PID] = pr.[PID] 

在我的輸出我收到日期1990-01-01但我的預期輸出爲01-Jan-1990

+0

什麼** **數據類型是'在'tbl_Prod2'表你的專欄'[日期]? –

+0

[日期] col在tbl_Prod2中,它的日期數據類型爲 –

+0

FYI數據格式化應該在您的應用程序中完成,而不是在數據庫中 – cjk

回答

2

試試這個:

REPLACE(CONVERT(VARCHAR(15), pr.[Date], 106), ' ', '-') 

這樣的日期轉換爲VARCHAR,你會得到它顯示在需要的格式。更多關於CONVERT和支持的格式,可以發現here

+0

謝謝它完美的工作 –

+0

太棒了,我很高興它有幫助。 –

+0

嗨,因爲我新來的SQL我不知道這個106 ..是SQL內置格式? –

-1

嘗試......

select DATE_FORMAT(pr.[Date],'%d %b %y'),p.[Product] from tbl_ProTest p 
inner join tbl_Prod2 pr on P.[PID] = pr.[PID] 
+0

SQL Server沒有'DATE_FORMAT'函數.... –

+0

是的sql沒有DATE_FORMAT函數 –

-1

你可以使用這個

  mysql_select_db("datetime", $con); 
    $result = mysql_query("SELECT * FROM datetime_test"); 
    while($row = mysql_fetch_array($result)) 
    { 
    foreach($row as $lists){ 

     echo "".date('M d Y',strtotime($lists['date'])); 

    } 

    } 
+0

如果他不使用PHP?我們知道他沒有使用MySql。 – cjk

+0

我不知道,但它幫助U選擇GETDATE() GO - 的SQL Server 2000/2005 選擇 CONVERT(VARCHAR(8),GETDATE(),108)HourMinuteSecond, CONVERT(VARCHAR(10) GETDATE(),101)AS DateOnly; GO - SQL Server 2008起始 SELECT CONVERT(TIME,GETDATE())AS HourMinuteSeconds;選擇轉換(DATE,GETDATE())作爲DateOnly; GO –

+0

謝謝@ShivendraSuman我正在使用sql-server 2008,你的信息在評論中是有幫助的 –