繁体   English   中英

如何使列别名为整数?

[英]How do I make column alias to be in integer?

我有这条查询线

$sql = " SELECT c.name, IF(a.addressid IS NOT NULL,0,1) AS checked
FROM customers c
LEFT JOIN addresses a 
ON c.customerid = a.customerid
WHERE customerid = 123 ";

$array     = array();
$GetResult = $Obj->FetchData($sql, $Obj->DEFAULT_PDO_CONNECTIONS);
while ($row = $GetResult->fetch()) {
    $array[] = $row;
}
header("Content-type: application/json");
$result = json_encode($array);
echo $result;

当我以JSON格式回显时,将checked输出显示为字符串。 而且我想知道默认情况下checked别名的数据类型是什么? 以及如何更改为整数数据类型?

感谢您的回答,默认情况下是的,它已经是数据类型编号,是json格式的问题。 它产生我checked为字符串。 所以我在这里找到了答案PHP PHP json_encode将数字编码为字符串

$ result = json_encode($ array,JSON_NUMERIC_CHECK);

我已经添加了该列的转换函数来表示整数类型。 希望这将转化为您想要的结果

SELECT c.name, Convert(IF(a.addressid IS NOT NULL,0,1), unsigned integer) AS checked
FROM customers c
LEFT JOIN addresses a 
ON c.customerid = a.customerid
WHERE customerid = 123

使用cast convertconvert完整文档

因此,它将类似于:

SELECT c.name, cast(if(a.addressid is not null, 0, 1) as unsigned) as checked

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM