2015-12-03 57 views
-2

我在SQL Server中有一个date列,我想以yyyy/mm/dd格式获取日期。在SQL Server中的yyyy/mm/dd格式

我的代码是:

select 
    convert(date, Consumption_FDate, 111) 
from 
    dbo.TblStuff_Consumption 

Consumption_FDate是我date列,dbo.TblStuff_Consumption是我的表。

我的问题是这段代码不工作;输出每次都是一样的,虽然我把'111'换成了其他数字。

+2

这属于不在sql代码中的表示层。 –

+2

是的 - 因为您将**转换为'DATE' **,然后将在SQL Server中使用**默认设置**进行显示。如果你想执行一个特定的格式,你需要将**转换为'VARCHAR(n)'! (其中'n'应该足够大以容纳你的日期,包括任何特殊字符 - 至少10个字符长) –

回答

2
SELECT CONVERT(VARCHAR(10), Consumption_FDate, 111) 
FROM dbo.TblStuff_Consumption 
-2

在SQL服务5-8细

选择转换(VARCHAR,GETDATE(),112)

+3

[坏习惯踢:声明VARCHAR没有(长度)](http://sqlblog.com/blogs/aaron_bertrand /archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx) - 您应该**总是**为您使用的任何'varchar'变量和参数提供一个长度 –

-2

CONVERT(VARCHAR(19),GETDATE())输出Nov 04 2014 11:45 PM CONVERT(VARCHAR( 10),GETDATE(),10)输出11-04-14 CONVERT(VARCHAR(10),GETDATE(),110)输出11-04-2014 CONVERT(VARCHAR(11),GETDATE(),6)输出04 Nov 14 CONVERT(VARCHAR(11) ,GETDATE(),106)输出04 Nov 2014 CONVERT(VARCHAR(24),GETDATE(),113)输出04 Nov 2014 11:45:34:24