2013-03-20 5 views
0

Моя таблица выглядит, как показано ниже,обновление запросов в db2

Table Name: Number_List 
Columns Name: Num_ID INTEGER 
       First_Number VARCHAR(16) 
       Last_Number VARCHAR(16) 

В том, что Num_ID является PK. а остальные столбцы First_Number и Last_Number всегда имеют 8-значное число. мое требование, чтобы обновить этот столбец 6 ввода цифр ..

Рассмотрим записей в двух столбцах 32659814 (FIRST_NUMBER) и 32659819 (LAST_NUMBER). Теперь мне нужно написать запрос обновления, чтобы изменить записи в таблице на 326598 (First_Number) и 326598 (Last_Number).

и эта таблица имеет 15K записей, и мне нужно обновить целое в одном запросе в одном исполнении.

Пожалуйста, помогите мне решить эту проблему.

TIA.

ответ

1

Все, что вам нужно, это SUBSTR:

UPDATE SESSION.NUMBER_LIST 
    SET FIRST_NUMBER = SUBSTR(FIRST_NUMBER, 1,6) 
     ,LAST_NUMBER = SUBSTR(LAST_NUMBER, 1,6) 
+0

Классные Bhamby .. Спасибо за ответ !! Так что мой фактический запрос выглядеть, как показано ниже, 'UPDATE NUMBER_LIST SET FIRST_NUMBER = SUBSTR (FIRST_NUMBER, 1,6) , LAST_NUMBER = SUBSTR (LAST_NUMBER, 1,6) WHERE FIRST_NUMBER <> NULL AND LAST_NUMBER <> NULL,' И ЯВЛЯЕТСЯ ЛЮБОЙ ПРОБЛЕМ, ЕСЛИ Я ИМЕЮ, ЧТО LAST_NUMBER.LENGH <= 6 ?? –

+1

... SET FIRST_NUMBER = CASE КОГДА ДЛИНА (FIRST_NUMBER)> 6 THEN SUBSTR (FIRST_NUMBER, 1,6) ELSE FIRST_NUMBER END ... – Alexey

Смежные вопросы