[請問] 資料庫的基礎問題(已解)

作者: maky90071 (maky90071)   2016-06-06 15:45:07
如果有一題的設定條件是
要找出在產品表格裡價錢為空值的所有欄位
照理說是這樣
Select *
from product
where unitPrice is null;
那我的設定條件可否改為
where unitprice !="%";
請原諒我文組的問這種基本問題
但我真的需要解答
非常感謝!!
作者: Schottky (順風相送)   2016-06-06 15:47:00
不可以
作者: OrzOGC (洞八達人.拖哨天王)   2016-06-06 15:49:00
不一樣的東西啊
作者: maky90071 (maky90071)   2016-06-06 15:51:00
請問!="%" 不能解釋為不等於所有字串嗎?因為剛剛考試的時候問老師,老師說他也沒這樣試過..
作者: OrzOGC (洞八達人.拖哨天王)   2016-06-06 15:54:00
不等於某字串和完全沒東西是兩回事啊...
作者: Schottky (順風相送)   2016-06-06 15:55:00
基本上你的寫法錯好多地方實在懶得一一吐槽...比較重要的應該是,萬用字元 % 只能用在 LIKE 吧
作者: maky90071 (maky90071)   2016-06-06 15:56:00
欸QQ 我們才剛開始教 課本就寫到這樣...喔喔!! 原來如此謝謝兩位 讓我矛塞頓開orz
作者: Schottky (順風相送)   2016-06-06 15:59:00
再來如二樓所說,NULL 和空白字串是不一樣的東西而且看起來你要處理的那個欄位似乎是數值(價錢)不是字串
作者: maky90071 (maky90071)   2016-06-06 16:04:00
那假如說把價錢改為書名,那會變成字串嗎?
作者: Schottky (順風相送)   2016-06-06 16:09:00
書名就會設定成字串了沒錯,但 null 和空白字串仍然不同你可以用 datalength(書名) = 0 同時找出 NULL 和空白實務上你不管怎麼去防,就是有人會在書名打 1 或 . 避開
作者: maky90071 (maky90071)   2016-06-06 16:16:00
好的 謝謝s大解惑 課本上真的沒寫說%只能用在like上...

Links booklink

Contact Us: admin [ a t ] ucptt.com