获取长文本mysql的日期名称
嗨,我是一个初学者,我正在尝试使用下面的查询获得一个长文本的日期名称,但我得到的是空d1列是长文本获取长文本mysql的日期名称,mysql,sql,Mysql,Sql,嗨,我是一个初学者,我正在尝试使用下面的查询获得一个长文本的日期名称,但我得到的是空d1列是长文本 d1 = day/mm/yyyy ex d1 = 01/11/2018 由于11月1日是星期四,所以期望输出是星期四。我将非常感谢您的任何建议或帮助。谢谢 SELECT DAYNAME(d1) FROM tbl1 将日期转换为DB可以识别的格式: MariaDB [(none)]> select DAYNAME('2018-01-11'); +---------------------
d1 = day/mm/yyyy
ex d1 = 01/11/2018
由于11月1日是星期四,所以期望输出是星期四。我将非常感谢您的任何建议或帮助。谢谢
SELECT DAYNAME(d1) FROM tbl1
将日期转换为DB可以识别的格式:
MariaDB [(none)]> select DAYNAME('2018-01-11');
+-----------------------+
| DAYNAME('2018-01-11') |
+-----------------------+
| Thursday |
+-----------------------+
从你的长文本中,你甚至可以这样做:
MariaDB [(none)]> select DAYNAME(DATE_FORMAT(STR_TO_DATE('01/11/2018', '%d/%m/%Y'), '%Y-%m-%d'));
+-------------------------------------------------------------------------+
| DAYNAME(DATE_FORMAT(STR_TO_DATE('01/11/2018', '%d/%m/%Y'), '%Y-%m-%d')) |
+-------------------------------------------------------------------------+
| Thursday |
+-------------------------------------------------------------------------+
将删除的日期部分替换为d1列:
select DAYNAME(DATE_FORMAT(STR_TO_DATE(d1, '%d/%m/%Y'), '%Y-%m-%d'));
…也应该工作,假设列为d1
=====
根据Nick建议的格式,您可以取消使用DAYNAME
:
MariaDB [(none)]> select DATE_FORMAT(STR_TO_DATE('01/11/2018', '%d/%m/%Y'), '%W');
+----------------------------------------------------------+
| DATE_FORMAT(STR_TO_DATE('01/11/2018', '%d/%m/%Y'), '%W') |
+----------------------------------------------------------+
| Thursday |
+----------------------------------------------------------+
有什么问题吗?给我空结果不需要使用
DAYNAME(日期格式(…,“%Y-%m-%d”)
只要使用DATE\u格式(…,“%W”)
谢谢@Nick。在答案中添加了一个带有%W
格式提示的示例。