Sql server 如何在SQL Server 2014中转换日期时间格式

Sql server 如何在SQL Server 2014中转换日期时间格式,sql-server,formatting,Sql Server,Formatting,我正在使用这个查询 SELECT convert(nvarchar(MAX), GETDATE(), 22) AS Date 结果:2016年5月8日12:23:08下午 但我想要这样的结果2016年8月5日12:23:08下午 dd/my/yyyyH:mm:SS a</p> SQL Server 2012。该函数可用以允许指定数据类型的格式,并且是区域感知的,因此它将考虑与会话的语言有关的日期格式或可选的文化< /代码>参数。 您可以实现如下自定义格式:FORMAT(GETDATE(),'

我正在使用这个查询

SELECT convert(nvarchar(MAX), GETDATE(), 22) AS Date
结果:2016年5月8日12:23:08下午

但我想要这样的结果2016年8月5日12:23:08下午

dd/my/yyyyH:mm:SS a</p> SQL Server 2012。该函数可用以允许指定数据类型的格式,并且是区域感知的,因此它将考虑与会话的语言有关的日期格式或可选的<代码>文化< /代码>参数。 您可以实现如下自定义格式:
FORMAT(GETDATE(),'d/M/yyyy hh:mm:ss tt')

请注意,您请求的格式
dd/mm/yyyy hh:mm:ss a
不正确,因为对于您希望删除零填充的单个数字,即2016年8月10日而不是2016年8月10日。这就是为什么在格式字符串中我只使用
d
M

另外,请注意@GarethD对较大数据集的成本的评论

>P>SQL Server 2012,该函数允许您指定数据类型的格式,并且是区域感知的,因此它将考虑与会话的语言有关的日期格式或可选的<代码>文化> /代码>参数。p> 您可以实现如下自定义格式:
FORMAT(GETDATE(),'d/M/yyyy hh:mm:ss tt')

请注意,您请求的格式
dd/mm/yyyy hh:mm:ss a
不正确,因为对于您希望删除零填充的单个数字,即2016年8月10日而不是2016年8月10日。这就是为什么在格式字符串中我只使用
d
M


另外,请注意@GarethD对较大数据集的成本的评论

您可以使用T-SQL中的FORMAT函数:

代码如下:

SELECT FORMAT(GETDATE(), 'd/M/yyyy hh:mm:ss tt')

您可以使用T-SQL中的FORMAT函数:

代码如下:

SELECT FORMAT(GETDATE(), 'd/M/yyyy hh:mm:ss tt')

您可以使用-
选择格式(GETDATE(),'d/M/yyyy hh:mm:ss tt')
。只是考虑一下它会如何扩大,因为它。理想情况下,格式化是表示层的工作。实际上,我只想比较我的数据库日期和API响应日期,顺便说一句,谢谢您可以使用-
SELECT格式(GETDATE(),'d/M/yyyy hh:mm:ss tt')
。只是考虑一下它会如何扩大,因为它。理想情况下,格式化是表示层的一项工作。实际上,我只想将我的数据库日期与API响应日期进行比较,顺便说一句,thanksThanks@Jonathon,很简单:)Thanks@Jonathon,很简单:)