SQL格式化日期

SQL 格式化日期

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
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ??? ??? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

常用:
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16

### SQL 时间格式化方法与示例 在 SQL 中,不同数据库管理系统 (DBMS) 提供了多种方式来格式化时间。以下是几种常见 DBMS 的时间格式化方法及其具体示例。 #### 1. **MySQL 中的时间格式化** MySQL 使用 `DATE_FORMAT` 函数来进行日期和时间的格式化操作[^1]。该函数允许通过指定模式字符串来自定义输出格式。 例如: ```sql -- 格式化时间为年-月-日 时:分:秒的形式 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S') AS formatted_datetime; -- 只提取日期部分为 年-月-日 形式 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date; ``` 上述查询分别返回当前时间戳按特定格式显示的结果。 --- #### 2. **SQL Server 中的时间格式化** SQL Server 提供了 `FORMAT` 函数用于更灵活地处理日期、时间和数字类型的格式化需求[^2]。此函数支持 .NET 风格的格式说明符。 例如: ```sql -- 格式化时间为标准 ISO 8601 格式的日期 SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS FormattedDate; -- 格式化时间为小时:分钟:秒 AM/PM 表示法 SELECT FORMAT(GETDATE(), 'hh:mm:ss tt') AS FormattedTime; ``` 这些例子展示了如何利用内置函数生成符合业务逻辑的时间表示形式。 --- #### 3. **PostgreSQL 中的时间格式化** PostgreSQL 利用 `TO_CHAR` 函数完成类似的日期时间转换功能[^3]。它同样接受模板参数以控制最终呈现样式。 实例代码如下所示: ```sql -- 显示完整的日期加时间信息 SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS') AS full_timestamp; -- 单独获取仅含月份的部分 SELECT TO_CHAR(CURRENT_DATE, 'Mon YYYY') AS month_year_text; ``` 以上片段体现了 PostgreSQL 对复杂场景的支持能力。 --- #### 4. **Oracle 数据库中的时间格式化** 对于 Oracle 用户来说,则可以依赖于其专属语法——即调用 `TO_CHAR` 方法配合相应掩码达成目标效果[^4]。下面给出两个典型应用案例: ```sql -- 结果形如:2023-10-15 14:30:00 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual; -- 如果只需要展示星期几名称的话 SELECT TO_CHAR(SYSDATE, 'Day') FROM dual; ``` 这进一步扩展了跨平台间的一致性解决方案选项集。 --- ### 总结 每种主流关系型数据库都提供了各自的工具箱让用户能够轻松实现自定义化的日期时间展现规则。熟悉并掌握它们有助于提升工作效率以及程序质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值