SQL日期格式:dd/mm/yyyy hh:ss

SQL日期格式:dd/mm/yyyy hh:ss,sql,sql-server-2008,Sql,Sql Server 2008,我一直在尝试查找日期格式:dd/mm/yyyy hh:mm 我正在使用convert(varchar,rc.CreatedDateTime,?)。131也不是我需要的 我似乎能找到很多非常接近的函数,但不是这一个,我是否遗漏了一些显而易见的函数,或者我是否可以使用另一个函数???您可以使用此函数,只需将getdate()替换为您的字段: select convert(char(10), getdate(), 103) + ' ' + convert(char(8), getdate()

我一直在尝试查找日期格式:dd/mm/yyyy hh:mm

我正在使用convert(varchar,rc.CreatedDateTime,?)。131也不是我需要的


我似乎能找到很多非常接近的函数,但不是这一个,我是否遗漏了一些显而易见的函数,或者我是否可以使用另一个函数???

您可以使用此函数,只需将
getdate()
替换为您的字段:

select convert(char(10), getdate(), 103) + ' ' 
    + convert(char(8), getdate(), 108)
这将为您提供以下结果:

14/03/2012 17:05:47
如果您只需要小时和秒,那么:

select convert(char(10), getdate(), 103) + ' ' 
    + Left(convert(char(8), getdate(), 108), 2) + ':'
    + Right(convert(char(8), getdate(), 108), 2)
以下是有关日期/时间转换的有用链接:

根据您的评论,它应该是
dd/mm/yyyy hh:mm
,那么查询将是:

select convert(char(10), getdate(), 103) + ' ' 
    + Left(convert(char(8), getdate(), 108), 5) 
或者不带
LEFT()


假设您需要dd/mm/yyyy hh:mm而不是dd/mm/yyyy hh:ss

SELECT convert (varchar(10), rc.CreatedDateTime, 103) + ' ' + 
       convert(varchar(5), rc.CreatedDateTime, 108)

hh:ss?你不在乎时间?为什么要使用区域格式?所以你可以肯定美国观众和其他观众会完全困惑?为什么不使用明确的输出格式,如
yyyy-mm-dd
?它是一个企业的私有报告,所以它是尽可能区域性的…为什么是varchar?长度总是会固定的。@dann.dev没问题,链接很方便保持书签。我一直都在用它,为什么是瓦查尔?除了定义的字符数之外,您还需要什么吗?为什么
左(CONVERT(VARCHAR(8),…),5)
?为什么不仅仅是
CONVERT(VARCHAR(5),…)
?@AaronBertrand我通常在日期转换中使用VARCHAR,但我明白你的意思。我将查询调整为使用char,并将长度分别从8缩短为2,5。谢谢你指出这一点。就我最后一次离开的时候而言,这表明你可以返回当时的5个字符。嗯,有两件事我仍然错了。第一个
LEFT(CONVERT(CHAR(2),…),2)
仍然可以是
CONVERT(CHAR(2),…)
左侧是冗余的。而
右边(CONVERT(CHAR(2),…),2)
,你应该试试看。@AaronBertrand我把左/右键放回CHAR(8),这样如果他在寻找hh:ss,它就会得到正确的值,而hh:ss最初是作为问题发布的。
SELECT convert (varchar(10), rc.CreatedDateTime, 103) + ' ' + 
       convert(varchar(5), rc.CreatedDateTime, 108)
SELECT CONVERT(CHAR(10), rc.CreatedDateTime, 103) + ' ' 
     + CONVERT(CHAR(5),  rc.CreatedDateTime, 108)
FROM dbo.[table_name];