登录
首页 >  文章 >  java教程

MySQL查询中STR_TO_DATE函数导致别名列返回NULL值的原因是什么?

时间:2024-12-11 08:09:55 433浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《MySQL查询中STR_TO_DATE函数导致别名列返回NULL值的原因是什么?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

MySQL查询中STR_TO_DATE函数导致别名列返回NULL值的原因是什么?

mysql 中查询别名为 temp 的列为何返回 null?

这个问题涉及到 mysql 中使用 str_to_date() 函数将字符串转换为日期格式。

原始查询如下:

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

其中:

  • plan_start_time 是 varchar 类型,存储时间字符串
  • str_to_date() 函数将字符串转换为日期格式,别名为 temp

然而,原查询返回的 temp 列为 null。

答疑

根据给出的答复,这个问题可能是由于以下原因造成的:

  • 格式化字符串中 h 和 h 的大小写错误。h 代表小时(00 到 12),而 h 代表小时(00 到 23)。在给出的查询中,h 是小写,因此它期望输入字符串中的小时值介于 00 到 12 之间,但实际输入的时间值可能超过 12。

已提供了一个修改后的查询,其中将 h 替换为 h。该查询可以正确地将 plan_start_time 字符串转换为日期格式并存储在 temp 列中。

另外,需要确保 plan_start_time 列确实包含有效的时间字符串格式。varchar 类型可以存储文本,但它不验证数据的格式。

今天关于《MySQL查询中STR_TO_DATE函数导致别名列返回NULL值的原因是什么?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>