如何從表中選擇包含任何字母的所有名稱?例如,如果變數是“BANANA”就很好,如果變數是“*895- 59”就不好
IF variable LIKE '%A-Z%' THEN
dbms_output.put_line('GREAT');
uj5u.com熱心網友回復:
如何從表中選擇包含任何字母的所有名稱?
您不能在LIKE比較中使用正則運算式,但可以在REGEXP_LIKE以下情況下使用它們:
SELECT name
FROM table_name
WHERE REGEXP_LIKE(name, '[A-Za-z]')
如果您希望列以字母開頭,則將其錨定到字串的開頭:
SELECT name
FROM table_name
WHERE REGEXP_LIKE(name, '^[A-Za-z]')
如果要輸出Great或Not Great然后將其放入CASE運算式而不是WHERE過濾器:
SELECT name,
CASE
WHEN REGEXP_LIKE(name, '[A-Za-z]')
THEN 'Great'
ELSE 'Not Great'
END AS is_great
FROM table_name
uj5u.com熱心網友回復:
您可以使用REGEXP_SUBSTR()帶有條件的函式,例如
SELECT DECODE(SIGN(LENGTH(REGEXP_SUBSTR('<your_expression>','[a-zA-Z]'))),1,'Great','Bad')
FROM your_table
Demo
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/349011.html
上一篇:每個條目的最大日期
