在Oracle數據庫中有一張BANKCARD表,其中有一個字段ID,記錄著銀行卡號的明文。現在想把卡號的中間部分隱藏,只顯示前6位和后4位,其他的部分改為*星號。比如卡號為6228480010028888),隱藏后儲存的是622848****8888。卡號的位數并不是固定的,一般在15~19位之間。現在考慮的SQL是update BANKCARD set id=REPLACE(id,substr(id,6,id.length-4) ,'*') where id.length > 10 ;其中的.length不是規范的,請問有什么方法可以獲取這個字段的長度?順便求各位大神指導最靠譜的SQL該怎么寫???
Oracle中如何批量將 銀行卡號 的中間部分隱藏為****
慕碼人2483693
2018-07-21 13:26:41