mysql - 将字符串转换为日期格式并检索周数
问题描述
我有格式的日期15-Nov-20
。我想在将数据插入表之前使用查询将其转换为 MySQL 表的日期格式(yyyy-mm-dd),并希望分别获取该日期的周和年。我尝试了以下查询:
SELECT STR_TO_DATE('15-Nov-20', '%Y-%m-%d') FROM table
但这会返回NULL
。
解决方案
您的格式字符串不正确(请参阅手册)。对于您的示例数据,它应该是%d-%M-%y
例如
SELECT STR_TO_DATE('15-Nov-20', '%d-%M-%y')
输出:
2020-11-15
然后获取年份和星期,您可以使用,或取决于您的需要DATE_FORMAT
之一(请参阅手册了解它们的定义),例如%U
%u
%V
%v
SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%Y-%U')
输出
2020-46
请注意,如果您使用%V
or%v
表示周数,您还必须使用%X
or%x
表示年份,例如
SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%X-%V')
输出
2020-46
推荐阅读
- c# - 如何根据放置在Datagrid单元格中的内容的宽度设置Datagridcolumn的宽度
- python - if-else 中的条件优先级以提高效率
- postgresql - 找到两个彼此最接近的多边形postgis
- python - 我如何解决“缺少 1 个必需的位置参数”
- php - 上面 {{post.content}} 的木材/TWIG 部分,下面休息
- asynchronous - 如何在环回3中完成异步函数后调用cb函数
- html - html css如何使页面宽度固定,以便在调整屏幕大小时它会左右平移?
- python - 正则表达式 '\w+' 应该只返回英文单词,但它的工作方式不同
- python - 生成随机亚马逊产品
- node.js - mongoose 中 { } 和 [ ] 的区别?