2013-04-11 3 views
0

У меня есть таблица следующим образом.Как заменить первые два символа столбца другим значением в оракуле

TAX_ID_ID CUST_ID TAX_ID_TYP_CD TAX_ID_NO TAX_ID_DRV_UPCS_NO 
1005004 2005004 ssn 100000006 100000006 
1005006 2005006 ssn 100000007 100000007 
1005009 2005009 ssn 100000008 100000008 
1005012 2005012 ssn 100000009 100000009 
1005014 2005014 ssn 100000010 100000010 
1005017 2005017 ssn 100000011 100000011 

Я хотел заменить первые два символа TAX_ID_NO, TAX_ID_DRV_UPCS_NO с 25 вместо 10. Тип столбцов данных varchar2. Каким будет запрос на обновление для этого

+0

[Что вы пробовали?] (HTTP: // mattgemmell .com/2008/12/08/what-have-you-try /) –

+0

Я уже упоминал об этом, они являются типами varchar2. Я пробовал с заменой функции, но не тренировался. – user1614862

ответ

2

Я думаю, что это поможет.

Replace

Substring

String Concat

replace(TAX_ID_NO,TAX_ID_NO,'25'||substr(TAX_ID_NO, 3,length(TAX_ID_NO)-2)) 
replace(TAX_ID_DRV_UPCS_NO ,TAX_ID_DRV_UPCS_NO ,'25'||substr(TAX_ID_DRV_UPCS_NO , 3,length(TAX_ID_NO)-2)) 

Редактировать

Наконец, вы должны Update таблицу как

UPDATE TABLE 
    SET TAX_ID_NO = replace(TAX_ID_NO,TAX_ID_NO,'25'||substr(TAX_ID_NO, 3,length(TAX_ID_NO)-2)), 
    SET TAX_ID_DRV_UPCS_NO = replace(TAX_ID_DRV_UPCS_NO ,TAX_ID_DRV_UPCS_NO ,'25'||substr(TAX_ID_DRV_UPCS_NO , 3,length(TAX_ID_NO)-2)) 
+0

Спасибо за все ваши ответы, это сработало :) – user1614862

-1

Пожалуйста, попробуйте:

select 
    '25'||substr(TAX_ID_NO, 3), 
    '25'||substr(TAX_ID_DRV_UPCS_NO, 3) 
From YourTable; 

Обновить таблицу с помощью

update YourTable 
set TAX_ID_NO='25'||substr(TAX_ID_NO, 2), 
    TAX_ID_DRV_UPCS_NO='25'||substr(TAX_ID_DRV_UPCS_NO, 2); 
Смежные вопросы