Напишите оператор SQL, чтобы изменить имя всех клиентов, начинающееся с 'T' на 'F - PullRequest
0 голосов
/ 16 июня 2019

Напишите оператор SQL, чтобы изменить имя всех клиентов, начиная с 'T' на 'F'. Я пытаюсь решить этот вопрос.

UPDATE customers
SET first_name ='T'
WHERE First_name like 'F%'

Но мне нужно изменить только первую букву.

Ответы [ 3 ]

1 голос
/ 16 июня 2019

Вы можете использовать SUBSTR:

UPDATE customers 
SET first_name = CONCAT('F', SUBSTR(first_name, 2))
WHERE First_name like 'T%'
1 голос
/ 16 июня 2019

И одна опция регулярного выражения:

SQL> with customers (first_name) as
  2    (select 'Francisco' from dual union all
  3     select 'fixed'     from dual union all
  4     select 'FFrica'    from dual union all
  5     select 'Marof'     from dual union all
  6     select 'Taurus'    from dual
  7    )
  8  select regexp_replace(first_name, '^F', 'T') result
  9  from customers;

RESULT
-----------------------------------------------------------
Trancisco
fixed
TFrica
Marof
Taurus

SQL>
1 голос
/ 16 июня 2019

Я думаю, что у вас есть эта логика в обратном направлении:

UPDATE customers
    SET first_name = 'F'
    WHERE First_name like 'T%';

Если вопрос означает «изменить T на и F», то:

UPDATE customers
    SET first_name = 'F' || substr(first_name, 2)
    WHERE First_name like 'T%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...