云服务器网:购买云服务器和VPS必上的网站!

MSSQL日期时间格式化指南

MSSQL日期时间格式化指南
有时候我们在使用MSSQL数据库时,会遇到日期时间格式化的需求,要求把数据库中查询出的datetime类型的字段依照yyyy-MM-dd 格式,hh:mm:ss 格式输出给用户,这时候就需要对日期时间格式进行格式化,本文将介绍MS

MSSQL日期时间格式化指南

有时候我们在使用MSSQL数据库时,会遇到日期时间格式化的需求,要求把数据库中查询出的datetime类型的字段依照yyyy-MM-dd 格式,hh:mm:ss 格式输出给用户,这时候就需要对日期时间格式进行格式化,本文将介绍MSSQL的日期时间格式化的方法。

MSSQL中提供了内置函数CONVERT()来帮助我们实现日期时间格式化, CONVERT()函数接收要转换的日期时间值,转换格式(如yyyy-MM-dd)和数据库时间格式参数,通经常使用来将字符串类型的时间数据转换为datetime类型的。下面例子以将datetime类型的字段依照yyyy-MM-dd 格式,hh:mm:ss 格式输出给用户为例:

SELECT CONVERT(VARCHAR(20), GetDate(), 120) AS [yyyy-MM-dd hh:mm:ss]

上述函数中的参数120表示格式用yyyy-MM-dd hh:mm:ss来转换日期时间值,有关其他格式,我们可以参考MSSQL文档列出的内部时间表示格式,例如,将datetime类型转换为yyyy/mm/dd格式,可以这么写:

SELECT CONVERT(VARCHAR(20), GetDate(), 111) AS [yyyy/MM/dd]

上面的参数111表示格式是yyyy/mm/dd,其它参数可以参考MSSQL文档。如果一些特殊字符其实不能满足转换的要求,我们还可使用REPLACE()函数将字符替换为想要的格式, 例如:在上面的结果中把 “/” 用 “-” 替换:

SELECT REPLACE(CONVERT(VARCHAR(10), GETDATE(), 111), '/', '-')

值得注意的是,在使用 CONVERT 函数格式化日期时间时, 通常不要在要转换的日期时间值中指定指定长度,如果指定太短指定时间会把秒转换最后一名截断,和造成没必要要的毛病

总而言之,使用 CONVERT 和 REPLACE 函数只能支持经常使用的日期时间格式转换, 如果我们有更多复杂的格式转换需求,可以斟酌使用MSSQL提供的日期时间函数XML,例如:

SELECT 
CONVERT (
VARCHAR(20),
XMLCONCAT(
XMLELEMENT(
"data",
FORMAT ( GETDATE(), 'yyyy MM dd h:m:s' )
)
),
120
)
FROM SomeTable

通过学习本文,你可以很容易的使用MSSQL内置函数和其它

本文来源:https://www.yuntue.com/post/224540.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注