### SQL Server 日期格式详解 在SQL Server中处理日期数据时,经常需要用到不同的日期格式来满足业务需求或提高用户体验。本文将对SQL Server中的日期格式转换进行总结,并详细解释每种格式的特点及其应用场景。 #### 一、基本日期时间格式转换(0-25) SQL Server提供了多种数字代码用于日期时间的格式化输出。以下是从0到25的日期格式代码: 1. **0:**`MMDDYYYYhh:mmAM/PM` — 显示为月日年小时分钟加上上午/下午标记。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 0) AS '0516200610:57AM'; ``` 2. **1:**`MM/DD/YY` — 显示为月/日/年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 1) AS '05/16/06'; ``` 3. **2:**`DD.MM.YY` — 显示为日.月.年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 2) AS '06.05.16'; ``` 4. **3:**`DD/MM/YY` — 显示为日/月/年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 3) AS '16/05/06'; ``` 5. **4:**`DD.MM.YY` — 显示为日.月.年(两位),与格式2相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 4) AS '16.05.06'; ``` 6. **5:**`DD-MM-YY` — 显示为日-月-年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 5) AS '16-05-06'; ``` 7. **6:**`DDMMYY` — 显示为连续的数字格式(日月年)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 6) AS '160506'; ``` 8. **7:**`MMDD,YY` — 显示为月日,年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 7) AS '0516,06'; ``` 9. **8:**`HH:mm:ss` — 显示时间为小时分钟秒。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 8) AS '10:57:46'; ``` 10. **9:**`MMDDYYYYhh:mm:ss:fffAM/PM` — 显示为月日年小时分钟秒毫秒加上上午/下午标记。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 9) AS '0516200610:57:46:827AM'; ``` 11. **10:**`MM-DD-YY` — 显示为月-日-年(两位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 10) AS '05-16-06'; ``` 12. **11:**`DD/MM/YY` — 显示为日/月/年(两位),与格式3相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 11) AS '06/05/16'; ``` 13. **12:**`DDMMYY` — 显示为连续的数字格式(日月年),与格式6相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 12) AS '060516'; ``` 14. **13:**`DDMMYYYYhh:mm:ss:fff` — 显示为日月年小时分钟秒毫秒。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 13) AS '1605200610:57:46:937'; ``` 15. **14:**`HH:mm:ss:fff` — 显示时间为小时分钟秒毫秒。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 14) AS '10:57:46:967'; ``` 16. **20:**`YYYY-MM-DDhh:mm:ss` — 显示为年-月-日小时分钟秒。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 20) AS '2006-05-1610:57:47'; ``` 17. **21:**`YYYY-MM-DDhh:mm:ss.fff` — 显示为年-月-日小时分钟秒毫秒。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 21) AS '2006-05-1610:57:47.157'; ``` 18. **22:**`MM/DD/YYhh:mm:ssAM/PM` — 显示为月/日/年小时分钟秒加上上午/下午标记。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 22) AS '05/16/0610:57:47AM'; ``` 19. **23:**`YYYY-MM-DD` — 显示为年-月-日。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 23) AS '2006-05-16'; ``` 20. **24:**`HH:mm:ss` — 显示时间为小时分钟秒,与格式8相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 24) AS '10:57:47'; ``` 21. **25:**`YYYY-MM-DDhh:mm:ss.fff` — 显示为年-月-日小时分钟秒毫秒,与格式21相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 25) AS '2006-05-1610:57:47.250'; ``` #### 二、扩展日期时间格式转换(100-120) 除了上述基本的日期时间格式外,SQL Server还支持更多扩展格式: 1. **100:**`MMDDYYYYhh:mmAM/PM` — 显示为月日年小时分钟加上上午/下午标记,与格式0相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 100) AS '0516200610:57AM'; ``` 2. **101:**`MM/DD/YYYY` — 显示为月/日/年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 101) AS '05/16/2006'; ``` 3. **102:**`YYYY.MM.DD` — 显示为年.月.日。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 102) AS '2006.05.16'; ``` 4. **103:**`DD/MM/YYYY` — 显示为日/月/年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 103) AS '16/05/2006'; ``` 5. **104:**`DD.MM.YYYY` — 显示为日.月.年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 104) AS '16.05.2006'; ``` 6. **105:**`DD-MM-YYYY` — 显示为日-月-年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 105) AS '16-05-2006'; ``` 7. **106:**`DDMMYYYY` — 显示为连续的数字格式(日月年)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 106) AS '16052006'; ``` 8. **107:**`MMDD,YYYY` — 显示为月日,年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 107) AS '0516,2006'; ``` 9. **108:**`HH:mm:ss` — 显示时间为小时分钟秒,与格式8相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 108) AS '10:57:49'; ``` 10. **109:**`MMDDYYYYhh:mm:ss:fffAM/PM` — 显示为月日年小时分钟秒毫秒加上上午/下午标记,与格式9相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 109) AS '0516200610:57:49:437AM'; ``` 11. **110:**`MM-DD-YYYY` — 显示为月-日-年(四位)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 110) AS '05-16-2006'; ``` 12. **111:**`YYYY/MM/DD` — 显示为年/月/日。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 111) AS '2006/05/16'; ``` 13. **112:**`YYYYMMDD` — 显示为连续的数字格式(年月日)。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 112) AS '20060516'; ``` 14. **113:**`DDMMYYYYhh:mm:ss:fff` — 显示为日月年小时分钟秒毫秒,与格式13相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 113) AS '1605200610:57:49:513'; ``` 15. **114:**`HH:mm:ss:fff` — 显示时间为小时分钟秒毫秒,与格式14相同。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 114) AS '10:57:49:547'; ``` 16. **120:**`YYYY-MM-DDhh:mm` — 显示为年-月-日小时分钟。 ```sql SELECT CONVERT(varchar(100), GETDATE(), 120) AS '2006-05-1610:5'; ``` ### 结论 通过上述总结,我们可以看到SQL Server提供了非常丰富的日期时间格式化选项。开发者可以根据实际需求选择合适的格式进行日期数据的展示,以提高数据的可读性和易用性。理解并掌握这些格式对于进行数据库查询和报告生成具有重要意义。













SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006


- 粉丝: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 实训报告-网页制作与网站建设项目实战.doc
- 试论互联网+时代事业单位档案管理创新.docx
- PLC控制中央空调节能改造方案设计书1.doc
- 互联网+会计时代-高职《管理会计》课程改革探究.docx
- 基于SNAP网络的实验室监控系统研究设计.doc
- 嵌入式系统程序可移植性设计方案及性能优化.doc
- 单片机电子台历设计方案.docx
- 2017年广西公需科目-“互联网+”开放合作考试及标准答案2(90分).docx
- 抢答器PLC控制系统设计-河南工业大学.doc
- 培训师大计算机采集处理系统.pptx
- 大数据在健康医疗行业中应用概况.pptx
- 慧锦校园网络布线系统措施设计方案.doc
- 机械产品和零件的计算机辅助设计.docx
- 《数据库课程设计方案》实验任务书学时.doc
- 项目管理中如何建立高绩效的研发项目团队.docx
- 基于51单片机的多路温度采集控制系统方案设计书.doc


