harshitawkk Ответов: 2

Обновление 1-й 5-значной цифры значения


Привет ,

Мне нужна помощь здесь для обновления 1-й 4-значной цифры значения столбца

например, у меня есть значение 999999999 (9 цифр), и мне нужно замаскировать 1-е 5 цифр с 11111

вывод должен выглядеть так: "111119999"

Однако в том же столбце у меня есть значение под названием "MIS", которое я не хочу трогать

какой запрос я должен использовать в Oracle sql developer?

Что я уже пробовал:

Я пробовал различные запросы обновления, такие как
UPDATE table SET TAX_ID = replace(TAX_ID, '4', '1111');

Mohibur Rashid

Что делать, если Ваш идентификатор клиента равен 111119999, каков будет результат?

harshitawkk

затем запрос перезапишет это значение

2 Ответов

Рейтинг:
1

Er. Puneet Goel

Использовать это

var res = "1111" + TAX_ID.Substring(4);


Nelek

Текст скопирован из не решения № 2 (по запросу):

Это добавит 1111 на существующий номер .

Моя цель состоит в том, что если у меня есть номер Custmoer как 999999999, то мне нужно замаскировать или скрыть 1-ю 5-значную цифру, и выход должен выглядеть как 111119999

harshitawkk

как я должен это использовать
var res = "1111" + TAX_ID.Substring(4);

не могли бы вы помочь мне с полным запросом и как это будет маскировать мою 1-ю 4-значную цифру existin value

Er. Puneet Goel

вы видите, что он уже добавляет 4 цифры к вашему TAX_ID.

Рейтинг:
0

Jörgen Andersson

UPDATE table
    SET TAX_ID = STUFF(TAX_ID,1,4,'1111')
WHERE   TAX_ID NOT LIKE '%MIS%';


Предположим, что строка " MIS " может существовать в любом месте поля.
Кстати, ваши два первых предложения противоречат друг другу, вы хотите обновить первые четыре или пять символов?


harshitawkk

обновленная таблица
SET TAX_ID = replace(TAX_ID, '4', '1111')
ГДЕ TAX_ID НЕ НРАВИТСЯ '%MIS%';
это добавит 1111 в существующее значение .


мне нужно замаскировать 1-ю 4-ю или 5-ю цифру от значения

выход должен быть 111119999

Jörgen Andersson

Обновленное решение.
Но вам все равно нужно добавить логику, чтобы знать, когда заменить четыре или пять символов