筆者在SQL線上練習中,曾碰到過這個問題:如何選出某個字段中全部為數字或全部為字母的記錄?
這個問題可以用SQL的通配符來解決,我們以下面的sample_table表為例:
現在我們選出表中model全部為數字或全部為字母的記錄,SQL代碼如下:
SELECT no, model
FROM sample_table
WHERE model NOT LIKE '%[^0-9]%'
OR model NOT LIKE '%[^A-Z]%';
查詢結果如下:
代碼分析:LIKE ‘%[^0-9]%’可選出不含有數字0到9的記錄,前面加上NOT就可選出全部為數字的記錄了。同理,可選出全部為字母的記錄。
以上代碼隻能在SQL Server或Access資料庫中運作成功,因為像MySQL等資料庫是不支援通配符中的方括号([])的,僅此為記,望讀者不要再踩坑!
本次分享到此結束,歡迎大家交流與批評~~