SQL替換NULL值的顯示

2021-07-26 04:46:06 字數 1456 閱讀 3703

在資料查詢中,有些欄位的值為null,但是我們一般不會直接把null顯示給使用者,所以需要用其他方式替換一下,比如「no value」。

例如有下面兩個表:

t_teacher

id  name

------------

1 teacher1

2 teacher2

3 teacher3

4 teacher4

t_course

id  name    tid

---------------

1 course1 2

2 course2 1

3 course3 2

4 course4 3

5 course5 5

如果我們將teacher表與course表進行左聯接,那麼效果是這樣的:

select t_teacher.id, t_teacher.`name`, t_course.`name`

from

`t_teacher`

left

join t_course on t_teacher.id = t_course.tid;

輸出結果:

name name1

2 teacher2 course1

1 teacher1 course2

2 teacher2 course3

3 teacher3 course4

4 teacher4 null

可以看到最後一行的資料name1為null,但是這樣不太友好,所以需要替換一下,我們用case處理一下這個字段:

select t_teacher.id, t_teacher.`name`, (case

when t_course.`name`

isnull

then

'no value'

else t_course.`name`

end) as cname

from

`t_teacher`

left

join t_course on t_teacher.id = t_course.tid;

輸出結果:

id  name        cname

-----------------------

2 teacher2 course1

1 teacher1 course2

2 teacher2 course3

3 teacher3 course4

4 teacher4 no value

這樣最後一行就顯示了「no value」。

sql字段值的替換

資料庫有一張表bug 缺陷記錄表 裡面有欄位severity 嚴重程度 severity的值實際為1,2,3,4,但希望在查詢結果中將severity的1,2,3,4值顯示為其他的值,但severity的實際值不會改變 例如 資料表的結構和資料如下 bug id name severity 1 張三...

vb中判斷SQL中的NULL值

資料庫中的空值是乙個很抽象的概念,空值為null,這和沒有值不一。打個比方,比如說有個瓶子,裡面什麼都沒有只有空氣,這是沒有值 另外乙個瓶子,裡面是真空的,這叫空值。表現在程式上也就是str 和str is null 這不是一回事 在從資料庫裡抽取資料的時候,一般都會遇到null值的問題,其實歸根結...

SQL優化 NULL值與索引的使用

null是資料庫中特有的資料型別,當一條記錄的某個列為null,則表示這個列的值是未知的 是不確定的。簡單的說,由於null存在著無數的可能,因此兩個null不是相等的關係,同樣也不能說兩個null就不相等,或者比較兩個null的大小,這些操作都沒有意義,得不到乙個確切的答案。那麼,乙個欄位有可能存...