2012-12-14 77 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,你的信息在评论中是有帮助的 –