亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Oracle中如何批量將 銀行卡號 的中間部分隱藏為****

Oracle中如何批量將 銀行卡號 的中間部分隱藏為****

慕雪6442864 2018-08-17 13:01:58
在Oracle數據庫中有一張BANKCARD表,其中有一個字段ID,記錄著銀行卡號的明文?,F在想把卡號的中間部分隱藏,只顯示前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該怎么寫???
查看完整描述

2 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

select substr(ID, 1, 6) || '******' || substr(ID, LENGTH(ID)-3, LENGTH(ID)) from BANKCARD; 


update BANKCARD set ID = substr(ID, 1, 6) || '******' || substr(ID, LENGTH(ID)-3, LENGTH(ID));


查看完整回答
反對 回復 2018-08-26
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

update BANKCARD set ID = substr(id, 1, 6) || lpad('*', length(id)-10, '*') || substr(id, -4)

查看完整回答
反對 回復 2018-08-26
  • 2 回答
  • 0 關注
  • 997 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號