繁体   English   中英

将TINYINT(1)转换为字符串

[英]Converting TINYINT(1) to a string

我想将TINYINT(1)值转换为字符串。 假设如果订阅的付费等于1(或true),那么当我从MySQL数据库中将值检索到.php文件时,结果将为“是”。 如果订阅的paid = 0 (或否),则结果为“否”。

有没有一种方法可以将TINYINT(1)值转换为包含我选择的单词的字符串?

很抱歉,如果我是间接人员,或者需要更多有关此问题的信息

您可以使用IF

SELECT IF(`column` = 1, 'yes', 'no') FROM `table_name`

要么:

SELECT IF(`column` = 0, 'no', 'yes') FROM `table_name`

或者,您可以根据数据使用<>等。

鉴于MySQL没有提供任何体面的机制来防止在TINYINT列中插入-133 ,因此我将简单地针对零/非零进行测试:

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中执行此操作:

$number = 1; // or 0 - basically your MySQL variable
$word = $number ? "yes" : "no";

或者,在您的MySQL查询中执行此操作:

SELECT IF(`column_name` = 1, 'yes', 'no') FROM ...

暂无
暂无

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

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