提取函数的MySql返回类型

时间:2017-11-20 13:58:20

标签: mysql

任何人都可以告诉我从MySQL返回的提取函数类型是什么

我的查询看起来像这样:

从process_log限制10中选择提取(来自logged_ts的月份);

我想知道返回的月份类型,是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)

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

1 个答案:

答案 0 :(得分:0)

所有sql select方法返回一个结果资源,松散意味着你可以将它称为table或multi diamentiona数组。当结果中只有一个元素时,例如

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。