Oracle 格式化日期的标记
时间: 2025-02-18 18:50:25 浏览: 34
### Oracle SQL 日期格式化标记及用法
在 Oracle SQL 中,`TO_DATE` 和 `TO_CHAR` 是两个常用的函数来处理日期和字符串之间的相互转换。这些函数允许使用特定的格式模型来指定输入或输出的样式。
#### 使用 TO_DATE 转换字符串到日期
当需要将一个字符串解析为日期时,可以使用 `TO_DATE` 函数并提供相应的格式掩码:
```sql
SELECT TO_DATE('20121021', 'yyyymmdd') FROM dual;
```
此查询会返回日期类型的值 `2012-10-21`[^1]。
#### 使用 TO_CHAR 转换日期到字符串
为了将以日期形式存储的数据转化为人类可读的形式,通常采用 `TO_CHAR` 函数配合不同的格式模板实现这一目的:
```sql
SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd') FROM dual;
```
上述命令将会得到形如 `'2012-11-23'` 的字符串结果。
#### 常见的日期格式元素及其含义
下面列举了一些常见的日期组件以及它们对应的格式代码:
- **世纪**: 可以通过 `CC` 或者 `SCC` 来获取当前系统的纪元信息。
- **年份**: 利用 `YYYY` 获取四位数表示的一年;而 `RRRR` 提供了一种相对年的表达方式,在某些情况下更方便处理跨世纪的情况。
- **季度 (`Q`)、月份 (`MM`, `MON`, `MONTH`)、周 (`WW`, `W`) 和天 (`DDDD`, `DDD`, `DD`, `D`)**
- **星期几**(`DAY`)
- **小时 (`HH24`, `HH`)、分钟 (`MI`) 和秒 (`SS`, `FF9`)**
例如,要获得今天的完整描述(包括具体的时间),可以用如下语句:
```sql
SELECT TO_CHAR(SYSDATE, 'Day, Month dd, yyyy hh24:mi:ss') AS formatted_date FROM dual;
```
这会产生类似于 `"Friday, November 23, 2012 17:45:30"` 这样的输出[^2]。
阅读全文
相关推荐















