Hello! 欢迎来到小浪云!


MySQL 查询中别名 temp 为何返回 NULL?


avatar
小浪云 2024-11-09 46

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 将返回格式正确的日期和时间。

相关阅读