天天看點

SQL Server之選出某個字段中全部為數字或全部為字母的記錄

  筆者在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等資料庫是不支援通配符中的方括号([])的,僅此為記,望讀者不要再踩坑!

  本次分享到此結束,歡迎大家交流與批評~~