我想將TINYINT(1)
的值轉換爲字符串。 假設訂閱費用等於1(或者真),那麼當我從我的MySQL數據庫檢索到我的.php
文件時,結果將是「是」。 如果訂閱paid = 0
(或錯誤)結果將是「否」。將TINYINT(1)轉換爲字符串
有沒有辦法將TINYINT(1)
的值轉換爲包含我選擇的單詞的字符串?
我很抱歉,如果我是間接的,或者有關問題的詳細信息需要
我想將TINYINT(1)
的值轉換爲字符串。 假設訂閱費用等於1(或者真),那麼當我從我的MySQL數據庫檢索到我的.php
文件時,結果將是「是」。 如果訂閱paid = 0
(或錯誤)結果將是「否」。將TINYINT(1)轉換爲字符串
有沒有辦法將TINYINT(1)
的值轉換爲包含我選擇的單詞的字符串?
我很抱歉,如果我是間接的,或者有關問題的詳細信息需要
由於MySQL不提供任何像樣的機制,以防止插入-1
或33
成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;
}
顯示時顯示正確的字符串應該很簡單。
看來'有償= 0那麼'是'應該是'付= 0然後'否'',反之亦然。 –
謝謝。對於一些奇怪的弗洛伊德理由,我總是反過來這樣做。 –
應該工作:
$number = 1; // or 0 - basically your MySQL variable
$word = $number ? "yes" : "no";
或者:
SELECT IF(`column` = 1, 'yes', 'no') FROM `table_name`
你可以在PHP中做到這一點,在你的MySQL查詢中執行:
SELECT IF(`column_name` = 1, 'yes', 'no') FROM ...
有,但爲什麼打擾?在值到達PHP之後,只需將其轉換爲PHP,這更簡單,更經濟,並且不會導致將部分業務邏輯放入SQL查詢中(對維護不利)。 – Jon