[英]MySql Query Replace NULL with Empty String in Select
如何用空字符串替換選擇中的 NULL 值? 輸出“NULL”值看起來不太專業。
這是非常不尋常的,根據我的語法,我希望它能夠工作。 我希望有一個解釋為什么它沒有。
select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;
原始表的外觀、我想要的以及實際打印的內容的示例:
original wanted what actually prints
-------- ------ ---------------------
value1 value1
NULL NULL
value2 value2
NULL NULL
正如您所看到的,它與我想要的相反,因此我嘗試將 IS NULL 翻轉為 IS NOT NULL,當然這並沒有解決它。 我也嘗試交換 when case 的位置,但沒有用。
似乎下面給出的 3 個解決方案都可以完成任務。
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(prereq,"") from test
select coalesce(prereq, '') from test
如果您真的必須輸出包括 NULL 在內的每個值:
select IFNULL(prereq,"") from test
試試下面;
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(`prereq`,'') as ColumnName FROM test
此查詢正在選擇“prereq”值,如果其中任何一個值為空,它會根據您的喜好顯示一個空字符串 因此,它顯示所有值,但空值顯示為空白
原始形式幾乎是完美的,您只需在CASE之后省略prereq :
SELECT
CASE
WHEN prereq IS NULL THEN ' '
ELSE prereq
END AS prereq
FROM test;
嘗試COALESCE
。 它返回第一個非 NULL 值。
SELECT COALESCE(`prereq`, ' ') FROM `test`
試試這個,這也應該擺脫那些空行:
SELECT prereq FROM test WHERE prereq IS NOT NULL;
我在數據庫的非必填字段中有空值(NULL 作為默認值)。 它們不會導致值“null”出現在網頁中。 然而,當通過網頁輸入表單創建數據時,值“null”被放置到位。 這是因為 JavaScript 在通過 AJAX 和 jQuery 提交數據時取 null 並將其轉錄為字符串“null”。 確保這不是基本問題,因為簡單地執行上述操作只是對實際問題的創可貼。 我還實施了上述解決方案 IFNULL(...) 作為雙重措施。 謝謝。
UPDATE your_table set your_field="" where your_field is null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.