mySQL - PHP时间=时间12小时

时间:2014-08-22 13:36:55

标签: php mysql time

我有一个带有时间字段的数据库(mySQL)。我想在我的php脚本中写一两行简单的行,如果时间小于12:00:00,则增加12小时

请任何人帮忙(新手!)

亲切的问候。 菲利普。

2 个答案:

答案 0 :(得分:1)

你应该使用MySQL,因为它更快,更少写: - )

这不会更新列,而是根据您的期望获取时间。

确保将时间列实际设为TIME / DATETIME类型。

SELECT
  IF(HOUR(timecol) > 12,
    DATE_ADD(INTERVAL 12 HOUR, timecol),
    timecol
  ) AS new_timecol
FROM table

还要记住:

1st of month, 23:30 o clock.

+ 12 hours = 

2nd of month, 11:30 o clock.

如果您想以24小时格式选择时间,有些标志只允许您这样做,而无需添加12小时或其他内容。

答案 1 :(得分:0)

您需要做的就是检查它是否小于12然后添加12小时的间隔,否则就像这样放入时间:)

SELECT 
  CASE  
    WHEN timecol < '12:00:00' THEN ADDTIME(timecol, '12:00:00')
    WHEN timecol >= '12:00:00' THEN timecol
  END
FROM test

DEMO


编辑:

使用新提供的信息,您应该将其合并到原始选择中。

SELECT ff_id, book_cancel, booking_date, 
       pax_number, room, name, tel_number, 
       email, voucher_type, voucher_number, notes,
       CASE  
           WHEN time < '12:00:00' THEN ADDTIME(time, '12:00:00')
           WHEN time >= '12:00:00' THEN time
       END AS time
FROM tables 
WHERE booking_date>= '" . date("Y-m-d") . "' 
ORDER BY booking_date ASC, time ASC