我想把TINYINT(1)值转换成字符串。
假设付费订阅等于1(或true),那么当我从MySQL数据库检索到.php文件的值时,结果将为“yes”。
如果订阅paid = 0(或为false),则结果将为“否”。
有没有办法将TINYINT(1)值转换成包含我所选单词的字符串?
如果我是间接的,或者需要更多关于这个问题的信息,我很抱歉

最佳答案

考虑到MySQL没有提供任何像样的机制来防止将-133插入TINYINT列,我只需要针对零/非零进行测试:

SELECT CASE
    WHEN paid<>0 THEN 'Yes'
    WHEN paid=0 THEN 'No'
    ELSE 'Unknown'
END is_paid
FROM suscription

这个问题也被标记为PHP。我认为尽可能多地使用原生类型会更干净:
if (is_null($row['paid']) {
    $paid = null;
}else{
    $paid = $row['paid']!=0;
}

在显示时获得正确的字符串应该很简单。

关于php - 将TINYINT(1)转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23392730/

10-12 07:18