SQL 日期格式

本文介绍SQL Server中日期格式的转换方法,包括各种日期格式的输出示例,如yyyy-mm-ddThh:mm:ss.mmm等,并提供了多种CONVERT函数的具体用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 本文链接: http://user.qzone.qq.com/43146464/blog/1210728522
SQL 日期格式
SQL 日期格式Sql Server 常用日期格式
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
20040912
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004
select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004
select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004
select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1
select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004
select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1
select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
CONVERT(VARCHAR(10),GETDATE(),120)
2004-09-12
### SQL日期格式化的用法及转换方法 在 SQL 中,`CONVERT()` 和 `CAST()` 是常用的日期格式化和类型转换函数。以下是关于这些函数的具体说明以及如何实现日期格式化的详细描述。 #### 使用 `CONVERT()` 函数进行日期格式化 `CONVERT()` 函数可以用于将日期转换为特定的数据类型并按照指定样式显示。其基本语法如下: ```sql CONVERT(data_type(length), expression, style) ``` - **data_type**: 表示目标数据类型,例如 `VARCHAR`, `DATETIME` 等。 - **expression**: 需要被转换的表达式或列名。 - **style**: 定义日期/时间输出样式的整数值[^1]。 ##### 常见的 `style` 参数及其对应的日期格式 | Style | 输出格式 | |-------|------------------------------| | 101 | mm/dd/yyyy | | 102 | yyyy.mm.dd | | 103 | dd/mm/yyyy | | 104 | dd.mm.yyyy | | 105 | dd-mm-yyyy | | 112 | yyyymmdd | 例如,如果需要将以默认格式存储的日期转换为 `yyyy-MM-dd` 的形式,则可使用以下语句: ```sql SELECT CONVERT(VARCHAR(10), GETDATE(), 120) AS FormattedDate; ``` 此查询会返回类似于 `2023-09-17` 的结果。 #### 不同数据库中的日期格式化差异 不同数据库管理系统 (DBMS),如 MySQL、Hive 或 Athena,在处理时间和日期方面存在一定的区别。下面列举了一些常见 DBMS 下的时间戳格式化方式[^2]: - **MySQL**: ```sql SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS CurrentDateTime; ``` - **Hive**: ```sql FROM_UNIXTIME(UNIX_TIMESTAMP('2023-09-17'), 'yyyy-MM-dd HH:mm:ss') ``` - **Athena**: 类似于 Hive,支持通过内置函数完成复杂的日期运算与展示调整。 #### PHP 连接 SQL 数据库时的日期格式转换 当涉及到跨平台开发场景下(比如 PHP 应用程序连接到 SQL Server),可能还需要考虑客户端和服务端之间的兼容性问题。PHP 提供了一系列工具来辅助解析来自 SQL 查询的结果集,并允许开发者自定义呈现逻辑[^3]。 对于简单的日期字段读取操作而言,可以直接利用上述提到的标准 SQL 功能;而对于更复杂的需求,则建议结合编程语言特性共同解决。 ```php <?php $date = $row['date_column']; // Assume this comes from a database query result. $formatted_date = date("Y-m-d", strtotime($date)); echo $formatted_date; // Outputs something like: 2023-09-17 ?> ``` 以上代码片段展示了如何借助 PHP 的 `strtotime()` 及 `date()` 方法重新构建原始 SQL 返回值的表现形态。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值