SQL正则表达式的应用 case的灵活应用
生活随笔
收集整理的這篇文章主要介紹了
SQL正则表达式的应用 case的灵活应用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近需要使用到sql的正則表達式來判斷分?jǐn)?shù)grade為數(shù)字, 但是在網(wǎng)上搜到的結(jié)果大多都會報錯:
SELECT FIRST_NAMEFROM EMPLOYEESWHERE REGEXP_LIKE(FIRST_NAME,'^al(an|yss)a$','i');最后終于找到一個能查詢成功的表達式
select grade from t_grade where grade REGEXP '^[0-9]*$'后面想利用case找出grade<60或grade='不及格'的信息
嘗試用:
SELECT grade, CASE WHEN grade='不及格' THEN grade WHEN grade REGEXP '^[0-9]*$' AND grade<60 THEN grade ELSE NULL END AS grade_rebuild FROM t_grade;發(fā)現(xiàn)結(jié)果是:
?可以發(fā)現(xiàn)并沒有篩選
所以要用到where進行篩選:
SELECT grade FROM t_grade WHERE CASE WHEN grade='不及格' THEN grade = '不及格' WHEN grade REGEXP '^[0-9]*$' THEN grade <60 END則可得到結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的SQL正则表达式的应用 case的灵活应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql正则表达式
- 下一篇: java编译系统找不到指定路径_为什么我