2016-09-29 4 views
0

Я пишу SQL-запрос, который обновляет столбец CUST_NAME, добавляя к нему слово «CHECKED». Столбец имеет длину всего 100 символов, и я буду сталкиваться с ошибками, если я иметь уже длинное имя клиента и попробовать добавить CHECKED к нему.Так что я хочу использовать функцию Substring в sql, но вроде бы тупик. Я хочу иметь возможность подстроить поле CUST_NAME, если оно будет содержать более 100 символов с добавленным словом . Как я могу это сделать СпасибоИспользование подстроки в операторе обновления SQL

UPDATE CUST_INFO cust 
    SET CUST_NAME = (CUST_NAME||'_CHECKED') 
    WHERE process_timestamp = null; 
+0

Пожалуйста, отметьте свой вопрос в базе данных, которую вы используете. –

ответ

1

Вот один из способов:

UPDATE CUST_INFO cust 
    SET CUST_NAME = SUBSTR(CUST_NAME, 1, 92) || '_CHECKED' 
    WHERE process_timestamp is null; 

Кроме того, если вы хотите обновить любые записи, используйте is null, а не = null (последний никогда не имеет значения true).

Примечание: не все базы данных имеют функцию left(), вы можете использовать substr() или эквивалент вместо этого.

+0

Спасибо, я закончил использование функции substr() oracle следующим образом: (SUBSTR (CUST_NAME, 0,92) || '_CHECKED') – user3266259

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