在 SQL 中拼接字串時,可以透過以下方法跳過空值:COALESCE() 函數:傳回第一個非 NULL 的值。 IFNULL() 函數:如果第一個參數不是 NULL,則傳回第一個參數,否則傳回第二個參數。 ISNULL() 函數:檢查一個值是否為 NULL,並相應地傳回 TRUE 或 FALSE。
SQL 字串拼接跳過空值
在SQL 中拼接字串時,如果遇到空白值,通常會傳回NULL,從而影響拼接結果。要跳過空值,可以使用下列方法:
COALESCE() 函數:
COALESCE()
函數傳回第一個非NULL的值,語法如下:
<code class="sql">COALESCE(value1, value2, ...)</code>
例如:
<code class="sql">SELECT COALESCE(name, '') || ' ' || COALESCE(surname, '') AS full_name FROM table_name;</code>
此查詢將跳過表中name
和surname
欄位的空值,並傳回一個包含姓名和姓氏的完整姓名字串。
IFNULL() 函數:
IFNULL()
函數如果第一個參數不是NULL,則傳回第一個參數,否則傳回第二個參數,語法如下:
<code class="sql">IFNULL(value1, value2)</code>
例如:
<code class="sql">SELECT IFNULL(name, '') || ' ' || IFNULL(surname, '') AS full_name FROM table_name;</code>
此查詢與使用COALESCE()
函數的效果相同。
ISNULL() 函數:
ISNULL()
函數檢查一個值是否為NULL,如果為NULL,則傳回TRUE,否則傳回FALSE,語法如下:
<code class="sql">ISNULL(value)</code>
例如:
<code class="sql">SELECT name || (CASE WHEN ISNULL(surname) THEN '' ELSE ' ' || surname END) AS full_name FROM table_name;</code>
此查詢使用CASE
語句,如果surname
為NULL,則傳回空字串,否則返回空格和surname
。
注意:
以上是sql中的字串拼接怎麼跳過空值的詳細內容。更多資訊請關注PHP中文網其他相關文章!