sql-server - SQL 日期格式 - 产生不同的结果
问题描述
我有一个包含 DOB 列的表 Cdata,列值如下:
'1945-01-01 00:00:00.000'
我将上述格式设置为 'YYYYMMDD' 格式,如下所示:
select format(c.dob,'yyyymmdd') from dbo.Cdata c where c.cid='12345'
我没有得到预期的输出。
Desired output:'YYYYMMDD' format: '19450101'
瑞克斯特链接:http ://rextester.com/NXBNZC17084
有什么帮助吗?
解决方案
您需要在格式中将 mm 大写为 MM。实际上,它将返回日期字符串的分钟部分。尝试以下
DECLARE @A DATETIME = '1945-01-01 00:00:00.000'
select format(@A ,'yyyyMMdd')
推荐阅读
- python - 为什么我的 python 代码中出现 Traceback 错误
- reactjs - 可以从 Reactjs 中的处理事件函数中直接返回一个组件吗?
- php - 截断不正确的 DOUBLE 值:| 尝试更新数据库中的数据时出错
- api - 尝试使用 Axios 从 Spotify API 获取访问令牌时出错
- mongodb - lng 180、lat 68.9636 的 Mongo 错误“越界”
- powershell - 如何使用 PowerShell 对 MS Word 文档执行自动化测试?
- azure-devops - 在本地将 Power BI 与 azure DevOps 连接起来
- python - if line[0] =="#" 这是什么意思。是字符串字符的位置吗?
- c# - 如何动态绑定到对象的属性路径?
- linux - 基于列以相反顺序排序的 Linux bash 未按预期工作