MySQL 查询中别名 temp 为何返回 NULL?
在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天主机宝贝就整理分享《MySQL 查询中别名 temp 为何返回 NULL?》,聊聊,希望可以帮助到正在努力赚钱的你。
mysql 查询中别名 temp 返回 null
问题:在 mysql 查询中,使用以下语句查询别名为 temp 的列时,却返回了 null:
select str_to_date(plan_start_time, '%h:%i:%s') as temp,plan_start_time from base_stop_calendar
背景信息:
- temp 是别名,并非截图错误。
- plan_start_time 是 varchar 类型。
解答:
在提供的 sql 语句中,格式化字符 “%h” 用于表示小时(12 小时制)。然而,plan_start_time 列中存储的是 24 小时制的时间,因此使用 “%h” 会导致格式化失败,从而返回 null。
解决方案:
要正确地格式化计划开始时间,应该使用大写字母 “h” 来表示 24 小时制的时间。以下是修改后的 sql 语句:
SELECT STR_TO_DATE(plan_start_time, '%H:%i:%s') as temp,plan_start_time from base_stop_calendar
使用此语句后,别名 temp 将返回格式正确的日期和时间。
到这里,我们也就讲完了《MySQL 查询中别名 temp 为何返回 NULL?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注主机宝贝公众号,带你了解更多关于的知识点!