我的Sql查询看起来像这样:
SELECT monday
FROM `restaurantslive`
结果是
我想做的是在几分钟后附加“ AM”和“ PM”,例如其中一个记录是
6:30–10:30AM, 11:30AM–2PM, 5:30–10:30PM
我正在尝试使记录看起来像下面的
6:30AM–10:30AM, 11:30AM–2PM, 5:30PM–10:30PM
请注意,分别在6:30和5:30之后添加AM和PM。
我尝试过的是这个
SELECT CONCAT(Monday , 'AM'), FROM `RestaurantsLIVE`
但是问题是它最后附加了AM,这不是期望的结果。
答案 0 :(得分:0)
select case when right(last,2) = 'AM' then concat(first,'AM-',last)
when right(last,2) = 'PM' then concat(first,'PM-',last) else concat(first,last)
end as monday
from(
select if(
locate('–', monday) > 0,
substring(monday, 1, locate('–', monday) - 1),
monday
) as first,
if(
locate('–', monday) > 0,
substring(monday, locate('–', monday) + 1),
null
) as last from restaurantslive
) temp;
请检查此查询。子查询将字符串分成两部分 用'-',然后相应地评估AM或PM