谁能告诉我提取函数从 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/