mysql字符串时间格式转换
时间: 2025-04-21 12:43:27 浏览: 59
### MySQL 中字符串与日期时间格式之间的转换
#### 使用 `STR_TO_DATE()` 函数将字符串转换为日期
为了实现从特定格式的字符串到日期类型的转换,可以利用 `STR_TO_DATE(str, format)` 函数。此函数接收两个参数:一个是待解析的字符串表达式;另一个是指定输入字符串模式的格式说明符[^1]。
例如,如果有一个表示月份的字段存储着形如 '2023年01月' 的中文字符序列,则可以通过下面的方式将其转变为 DATE 类型:
```sql
SELECT STR_TO_DATE(`month`, '%Y年%m月') AS formatted_date FROM t_distribution_info_brand;
```
这里 `%Y` 表示四位数的年份,而 `%m` 则对应两位数的月份[^4]。
#### 应用 `DATE_FORMAT()` 函数把日期转回字符串形式
相反地,当希望按照自定义样式展示已有的 DATETIME 或 TIMESTAMP 数据列时,应该采用 `DATE_FORMAT(date, format)` 方法来完成这一操作。它同样接受一对参数——目标日期对象以及期望输出样式的模板描述[^3]。
假设存在一张表内含有标准 ISO8601 形式的 datetime 值,现在想要提取其中的日部分并以前缀加零的形式呈现出来(即始终显示两位),那么查询语句可能是这样的:
```sql
SELECT DATE_FORMAT(datetime_column, '%d') AS day_of_month FROM some_table;
```
此处使用的占位符 `%d` 就是用来指示返回带前导零的一天数值[^2]。
#### 组合运用两者进行复杂的数据处理任务
除了单独使用上述两种功能外,在实际应用场合下还可能遇到更复杂的场景需求,比如先读取外部 CSV 文件中的非结构化文本记录作为临时表格导入数据库之后再做进一步分析之前往往就需要经历一轮完整的双向变换过程。此时就可以交替调用这两个工具链达到目的。
阅读全文
相关推荐

















