Mysql:在选择查询上使用 str_to_date 不会返回任何内容

标签 mysql str-to-date

我有以下 Mysql 查询:

select str_to_date((select distinct cast(substr(tb2.sub1,1,4) AS CHAR) as year from (
SELECT SUBSTRING_INDEX(file_name,'_',-1) as sub1 from table2) as tb2) , '%Y')

这是正确的,因为 mysqlworkbench 返回绿色标志但没有输出。

你能帮我吗?

最佳答案

表达式

        select str_to_date('2007', '%Y')

返回2007-00-00。某些 MySQL 服务器设置为禁止 invalid dates 。尝试使用

        select makedate('2007', 1) 

相反。这将为您提供有效日期 2007-01-01

我将让您编辑您的查询来进行更改。

关于Mysql:在选择查询上使用 str_to_date 不会返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46305237/

相关文章:

MySQL:str_to_date多种格式

delphi - 为什么 TFormatSettings 的行为不符合预期?

mysql - str_to_date 的奇怪行为,可能会混合表吗?

java - 在 Java 中执行 MySQL 删除语句时遇到问题

mysql - 在mysql中可以在更新某些行时自动执行某种触发器或函数或过程吗?

java - MySql和java{获取相关表列}

c# - 如何关闭以前打开的连接? MySQL

MySQL STR_TO_DATE() 函数返回 null

mysql - 有没有办法清理mysql中具有不同日期格式的列

mysql - 我可以让 LogParser 2.2 导出到 MySQL 吗?