SQL中日期转字符串
时间: 2025-06-10 14:40:12 浏览: 13
### SQL 日期转字符串的方法与函数
在 SQL 中,将日期转换为字符串的操作可以通过多种方式实现。以下是几种常见的数据库系统中实现此功能的方法和函数:
#### 1. SQL Server 中的日期转字符串
在 SQL Server 中,可以使用 `CONVERT` 或 `FORMAT` 函数来实现日期到字符串的转换。例如:
```sql
SELECT CONVERT(VARCHAR, GETDATE(), 101) AS FormattedDate; -- 格式化为 'mm/dd/yyyy'
```
这里,`GETDATE()` 是获取当前系统时间的函数[^1],而 `CONVERT` 的第三个参数用于指定输出格式。
此外,SQL Server 还提供了更灵活的 `FORMAT` 函数(适用于 SQL Server 2012 及以上版本):
```sql
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS FormattedDate;
```
#### 2. MySQL 中的日期转字符串
在 MySQL 中,可以使用 `DATE_FORMAT` 函数将日期转换为指定格式的字符串。例如:
```sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS FormattedDate;
```
上述代码将当前日期时间格式化为 `'YYYY-MM-DD'` 格式[^2]。
对于更复杂的场景,如从自定义字段中提取日期并格式化,可以结合 `STR_TO_DATE` 和字符串操作函数完成。例如:
```sql
SELECT STR_TO_DATE(CONCAT(SUBSTRING(hourValue, 1, 4), '-', SUBSTRING(hourValue, 5, 2), '-', SUBSTRING(hourValue, 7, 2)), '%Y-%m-%d') AS strdate
FROM ctiWorkEventTbl;
```
#### 3. Oracle 中的日期转字符串
在 Oracle 数据库中,可以使用 `TO_CHAR` 函数进行日期到字符串的转换。例如:
```sql
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS FormattedDate FROM dual;
```
这里的 `SYSDATE` 是 Oracle 的系统时间函数,`TO_CHAR` 的第二个参数定义了输出格式。
#### 4. PostgreSQL 中的日期转字符串
在 PostgreSQL 中,可以使用 `TO_CHAR` 函数完成日期到字符串的转换。例如:
```sql
SELECT TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD') AS FormattedDate;
```
### 示例代码
以下是一个跨数据库的日期转字符串示例代码:
#### SQL Server
```sql
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS FormattedDateTime;
```
#### MySQL
```sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS FormattedDateTime;
```
#### Oracle
```sql
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS FormattedDateTime FROM dual;
```
#### PostgreSQL
```sql
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS') AS FormattedDateTime;
```
阅读全文
相关推荐















