如何将 getdate 格式化为 YYYYMMDDHHmmSS
在 SQL Server 中,如何将 getdate()
输出格式化为 YYYYMMDDHHmmSS
,其中 HH
是 24 小时格式?
我已经完成了YYYYMMDD
,
select CONVERT(varchar,GETDATE(),112)
但这就是我所能得到的。
谢谢。
In SQL Server how do I format getdate()
output into YYYYMMDDHHmmSS
where HH
is 24 hour format?
I've got the YYYYMMDD
done with
select CONVERT(varchar,GETDATE(),112)
but that is as far as I got.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
对于任何搜索具有 SQL Server 2012 的此功能的人,您可以使用 FORMAT 函数:
这允许任何 .NET 格式字符串,使其成为有用的新功能。
Just for anyone searching for this functionality that has SQL Server 2012 you can use the FORMAT function:
This allows any .NET format strings making it a useful new addition.
关闭但不完全符合您的要求:
例如
(yyyy-mm-ddThh:mi:ss.mmm(无空格),ISO8601,无时区)
参考:CAST 和 CONVERT
无法指定自定义格式
CONVERT()
。另一个选项是执行字符串操作以创建您想要的格式。Close but not exactly what you are asking for:
e.g.
(yyyy-mm-ddThh:mi:ss.mmm (no spaces), ISO8601 without timezone)
Ref: CAST and CONVERT
There is no way to specify a custom format with
CONVERT()
. The other option is to perform string manipulation to create in the format you desire.试试这个:
选择 CONVERT(varchar, GETDATE(), 120)
例如
2011-09-23 12:18:24
(yyyy-mm-dd hh:mi:ss (24h),ODBC 规范)。
哈。
Try this:
select CONVERT(varchar, GETDATE(), 120)
e.g.
2011-09-23 12:18:24
(yyyy-mm-dd hh:mi:ss (24h) ,ODBC canonical).
Hth.
另一种选择!
Another option!
以这种方式转换日期时间需要多次调用才能进行转换。最好的用途是在返回 varchar 的函数中。
将它们像这样放在函数中
20131220 13:15:50
正如 Thinhbk 发布的那样,您可以使用
select CONVERT(varchar,getdate(),20)
或select CONVERT(varchar,getdate() ,120)
非常接近您想要的。converting datetime that way requires more than one call to convert. Best use for this is in a function that returns a varchar.
Put them together like so inside the function
20131220 13:15:50
As Thinhbk posted you can use
select CONVERT(varchar,getdate(),20)
orselect CONVERT(varchar,getdate(),120)
to get quite close to what you want.