应用mysql函数后检查列的数据类型

pzfprimi  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(350)

我想知道使用函数后列的数据类型。

SELECT timediff(date('2020-10-01 00:00:00'), date('2020-10-00 00:00:00'));

使用timediff函数后,它是什么数据类型?我已经查看了搜索函数输出数据类型的文档https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html 但是找不到,而且记忆哪个函数输出什么数据类型效率很低,所以我想执行一个创建新列的操作,并知道它的确切数据类型。
当我将mysql连接到python并检查它的数据类型时,它是timedelta,但在mysql中也被称为timedelta吗?

83qze16e

83qze16e1#

使用timediff函数后,它是什么数据类型?我查看了文档以搜索函数的输出数据类型,但找不到。
好吧,文档确实给了你答案(我的重点): TIMEDIFF() 退货 expr1 − expr2 表示为 time 价值观。
此外:
返回的结果 TIMEDIFF() 限制在允许的范围内 TIME 价值观。或者,您可以使用这两个函数中的任何一个 TIMESTAMPDIFF() 以及 UNIX_TIMESTAMP() ,两者都返回整数。

3lxsmp7m

3lxsmp7m2#

timediff 函数将以 TIME 类型中的类型 mysql . 但是,为了确保类型的输出,您可以将其强制转换为如下所示的类型,

select cast(timediff(date('2020-10-02 00:00:00'), date('2020-10-00 00:00:00')) as TIME);

了解更多 TIME 键入并单击此处。了解 CAST() 单击此处。
您可以通过以下示例查询添加,

ALTER TABLE `test`
ADD COLUMN `colTime` TIME NULL ;

相关问题