mysql - 将字符串转换为日期格式并检索周数

标签 mysql string date

我的日期格式为 15-Nov-20。我想在将数据插入表之前使用查询将其转换为 MySQL 表的日期格式 (yyyy-mm-dd),并希望分别获取该日期的周和年。我尝试过以下查询:

SELECT  STR_TO_DATE('15-Nov-20', '%Y-%m-%d') FROM table

但这会返回NULL

最佳答案

您的格式字符串不正确(请参阅 manual )。对于您的示例数据,它应该是 %d-%M-%y 例如

SELECT  STR_TO_DATE('15-Nov-20', '%d-%M-%y')

输出:

2020-11-15

要获取年份和星期,您可以将 DATE_FORMAT%U%u%V 之一结合使用%v 取决于您的需求(有关其定义,请参阅 manual),例如

SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%Y-%U')

输出

2020-46

请注意,如果您使用 %V%v 作为周数,则还必须使用 %X% x 代表年份,例如

SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%X-%V')

输出

2020-46

Demo on dbfiddle

关于mysql - 将字符串转换为日期格式并检索周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59764327/

相关文章:

php - 连接 DB MySql Android 应用程序

Mysql 有条件更新其他表的值

Java 循环遍历数组 - 优化

Python 字符串格式 - 限制字符串长度,但修剪字符串开头

java - 在java中查找天数差异

php - 将数组从模型返回到 Controller codeigniter

string - 如何在 Crystal Reports 中的 StringVar 中插入换行符

validation - 使用 MomentJS 验证日期格式(不是日期字符串)?

java - 在 JSTL 中将 java 日期对象转换为毫秒

mysql - MYSQL中LIKE和=的区别?