mysql中如何将字符串转换成日期格式?

3bygqnnd  于 2021-06-20  发布在  Mysql
关注(0)|答案(4)|浏览(557)

我的日期格式类似于“201710”。我正在尝试将此特定字符串转换为“2017-10-01”。
如何将上述格式转换成mysql中所需的格式?
我已尝试使用以下查询:

SELECT *, DATE_FORMAT(yymm,'%Y-%m-%d') AS niceDate 
FROM table;

但是nicedate列显示为null。
谁能帮帮我吗。。。。

2ledvvac

2ledvvac1#

我是sql新手,但我认为您需要指定要格式化的列,例如,我不确定您的数据的确切代码,但类似于;

select *, DATE_FORMAT(yourdata, "%Y/%m/%d") as niceDate
from table;

将“yourdata”更改为要格式化的日期列。如果有帮助,请告诉我,谢谢:)

dfuffjeb

dfuffjeb2#

您可以使用:

SELECT  STR_TO_DATE(yourdatefield, '%m/%d/%Y') as 
    FROM    table

“yourdatefield”替换为日期列名。

xmakbtuz

xmakbtuz3#

You can use STR_TO_DATE() funcion to convert string to date,

在您的示例中,您没有提供日部分,您只提供年和月,但是为了使用此函数,您的字符串应该具有年、月和日部分示例

SELECT STR_TO_DATE('20171001','%Y%m%d') ;
fxnxkyjh

fxnxkyjh4#

你可以在你的字符串/字段上加字母,然后你就有了一个有效的日期

SELECT str_to_date(CONCAT('201710','01'),'%Y%m%d');

样品

MariaDB [(none)]> SELECT str_to_date(CONCAT('201710','01'),'%Y%m%d');
+---------------------------------------------+
| str_to_date(CONCAT('201710','01'),'%Y%m%d') |
+---------------------------------------------+
| 2017-10-01                                  |
+---------------------------------------------+
1 row in set (0.00 sec)

MariaDB [(none)]>

相关问题