Hello! 欢迎来到小浪资源网!


MySQL的STR_TO_DATE函数返回NULL值的原因是什么?


MySQL的STR_TO_DATE函数返回NULL值的原因是什么?

mysql 中 str_to_date 返回 null 的原因

mysql 中执行以下查询时,temp 列返回 NULL

SELECT STR_TO_DATE(plan_start_time, '%h:%i:%s') as temp, plan_start_time FROM base_stop_calendar;

其中,plan_start_time 是一个 varchar 类型的列,表示时间。

问题原因

这个问题的可能原因是:

  • plan_start_time 列中存在无效的时间格式,与指定的格式 %h:%i:%s 不匹配。
  • 格式字符串中使用了错误的大小写。如果使用小写的 h 而不是大写的 h,则会导致匹配 12 小时制的时间,而不是 24 小时制的时间。

解决方法

为了解决这个问题,可以尝试以下方法:

  • 检查 plan_start_time 列中的数据,确保它们符合 %h:%i:%s 格式。
  • 使用 str_to_time 函数代替 str_to_date 函数,它更适合处理时间格式。
  • 确保在格式字符串中使用正确的字符大小写。

相关阅读