亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么使用 CAST 添加 TIME 并不適用于 MySQL 中的每一行?

為什么使用 CAST 添加 TIME 并不適用于 MySQL 中的每一行?

PHP
慕神8447489 2023-11-03 16:51:24
我正在使用這個查詢SELECT *, cast(seg1 + seg2 as time) FROM tablename,但它只添加了最后兩行,為什么?每個 seg* 列都是TIME類型。最后兩行是在 phpMyAdmin 中手動添加的,其他行是通過 Yii 框架 ActiveQuery 添加的。這是 PhpMyAdmin 的結果:
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

當你對兩個值求和時,MYSQL 中會發生奇怪的事情time。也就是說,MySQL 將兩個值轉換為數字(僅刪除字符':'),然后將它們相加。考慮這個例子:

select cast('12:43:34' as time) + cast('04:09:32' as time) res
|    res |
| -----: |
| 165266 |

結果在哪里124334 + 40932。

執行所需操作的一種方法是將時間轉換為秒,將它們相加,然后將結果轉換為時間:

select t.*, sec_to_time(time_to_sec(seg1) + time_to_sec(seg2)) total_time
from tablename t


查看完整回答
反對 回復 2023-11-03
  • 1 回答
  • 0 關注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號