0
替換SQL選擇字符串我使用使用精確匹配
SELECT REPLACE(REPLACE(Status,'O','New'),'C','Closed') as STATUS,
中的Oracle SQL選擇
的問題是,我的表有兩種: 'C' 和 '封閉'
所以它實際上用'Closed'取代'C'並用'Closedlosed'取代'Closed'
我該如何取代它只有當整個領域匹配?
替換SQL選擇字符串我使用使用精確匹配
SELECT REPLACE(REPLACE(Status,'O','New'),'C','Closed') as STATUS,
中的Oracle SQL選擇
的問題是,我的表有兩種: 'C' 和 '封閉'
所以它實際上用'Closed'取代'C'並用'Closedlosed'取代'Closed'
我該如何取代它只有當整個領域匹配?
一個可能的解決方案是使用正則表達式來僅C
字符,沒有別的匹配:
WITH
my_data AS
(SELECT 'Closed' AS status FROM dual
UNION ALL SELECT 'C' AS status FROM dual)
SELECT
regexp_replace(status, '^C$', 'Closed') AS rep_status
FROM
my_data
;
檢查在SQLFiddle:http://sqlfiddle.com/#!4/d41d8/19247
你能提供的樣本數據?
那就是我需要的!謝謝+! – Kairan