SQL日期格式:dd/mm/yyyy hh:ss
我一直在尝试查找日期格式:dd/mm/yyyy hh:mm 我正在使用convert(varchar,rc.CreatedDateTime,?)。131也不是我需要的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()
我似乎能找到很多非常接近的函数,但不是这一个,我是否遗漏了一些显而易见的函数,或者我是否可以使用另一个函数???您可以使用此函数,只需将
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];