gpt4 book ai didi

mysql - 为什么将 VarChar 转换为 DateTime 会导致空值?

转载 作者:行者123 更新时间:2023-11-29 07:38:10 24 4
gpt4 key购买 nike

我正在运行 MySQL 并尝试将以下行从 VarChar 转换为 DateTime

+-------------------+
| review_date |
+-------------------+
| May 24, 2015 |
| June 3, 2013 |
| December 19, 2003 |
+-------------------+

我已经尝试过 CAST(review_date as DATETIME) 但是,当我在 SELECT 语句中测试它时,会导致一列空值。

我也试过 CONVERT(DATETIME, review_date, 107) 但是,结果是: 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 3 行的 'review_date, 107) 附近使用的正确语法

我以前没有转换为日期时间,但我不明白上述陈述与文档有何不同或为什么它们不起作用。

我使用此语法为列创建:review_date varchar(255) DEFAULT NULLSTR_TO_DATE(review_date, '%m/%d/%Y') 也会生成一列空单元格。

最佳答案

问题是当您转换或转换时,您的字符串值不是标准的 yyyy-mm-dd 格式。

如果你运行这个例子,你就会明白我的意思。此示例还具有将字符串转换为日期的正确方法:

SELECT
CAST(review_date AS DATETIME) -- gives null due to incorrect format
, STR_TO_DATE(review_date, '%M %d, %Y') -- gives correct date
, CAST('2015-05-24' AS DATE) -- gives date due to correct format
FROM
date_test

关于mysql - 为什么将 VarChar 转换为 DateTime 会导致空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com