提取函数的 MySql 返回类型

标签 mysql

谁能告诉我提取函数从 MySQL 返回的类型是什么

我的查询看起来像这样:

select extract(month from logged_ts) from process_log limit 10;

我想知道返回的月份类型,是Integer还是Long

当我尝试通过以下查询检查类型时

select extract(hour from '2016-01-01 05:15:30') as hh, 
       extract(minute from '2016-01-01 05:15:30') as min, 
       extract(second from '2016-01-01 05:15:30') as sec, 
       extract(year from '2016-01-01 05:15:30') as yyyy,
       extract(month from '2016-01-01 05:15:30')as mm, 
       extract(day from '2016-01-01 05:15:30') as dd;

desc extract_time_tbl;

我得到这个结果:

输出:

    hh   int(2) 
    min  int(2) 
    sec  int(2) 
    yyyy int(4) 
    mm   int(2) 
    dd   int(2)

我想知道每次查询的类型是否相同。

最佳答案

所有 sql select 方法都返回一个结果资源,在松散的意义上,您可以将其称为表或多维数组。当结果中只有一个元素时,例如

Select count(id) from table

或者

SELECT EXTRACT(WEEK FROM "2017-06-15");

返回类型是一个单元格表。使用脚本语言读取结果资源(表格)并解析数据。

如果你使用的是 php,下面的伪代码可能会有帮助

$res = mysqli_query("SELECT EXTRACT(MONTH FROM "2017-06-15");");
$ar = mysqli_fetch_row($res);
$val = $ar[0];

值的数据类型将为字符串,但如果您知道它会是,您可以将其转换为您选择的任何类型。在上述情况下,$val 将为 6。

关于提取函数的 MySql 返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393759/

相关文章:

mysql - 我需要通过自定义查询获取具有特定类别 ID WordPress 的帖子、特色图像

mysql - PDO异常 : SQLSTATE[42000]

mysql连接多个表并计数查询

php - 英特尔 XDK getRemoteData 方法和 PHP

mysql - Varchar 上的索引是否会产生性能差异?

java - 前端 (HTML) 未从 Microsoft Azure 中的 mysql 数据库获取 Spring Boot 应用程序中的数据

mysql - 在 SQL 查询中使用 Distinct

php - 使用多维数组数据在MySQL中查找数据

mysql - 如何在 mysql 中两次连接同一个表?

在 Ubuntu 10.04 上使用 Bundler + Capistrano + Rails 3 安装 MySql 失败