2016-09-13 2 views
0

Я хотел бы обновить свой стол, чтобы заменить/вставить в колонке инициалов, первую букву в первом столбце имениОБНОВЛЕНИЯ колонки взять первую букву из другого столбца

имени таблицы: Mano

 Title Firstname Lastname Telephone Initial Gender More columns 
1 Mr  Adam    Smith   001  
2 Mrs Angela   Evans   002  AE 
3 Mr  Bill    Towny   003  
4 Miss Dame    Beaut   004  

Я заинтересован в превращении его в соответствии с ниже

 Title Firstname Lastname Telephone Inital Gender More columns 
1 Mr  Adam    Smith   001  A 
2 Mrs Angela   Evans   002  A 
3 Mr  Bill    Towny   003  B 
4 Miss Dame    Beaut   004  D 

Большое спасибо

ответ

3

Это кажется простым update:

update t 
    set initials = left(firstname, 1); 

Я должен отметить, что вам даже не нужен столбец. Вы можете объявить это как вычисляемый столбец:

alter t add initials as (left(firstname, 1)); 

Это обеспечит столбец initials (при условии, что имя уже не используется), которая всегда имеет первую букву firstname колонки - без обновления.

+2

3 upvotes для синтаксической ошибки ... – jarlh

2


Вы можете использовать функцию подстроки,

SELECT SUBSTR(Firstname, 1, 1) from mango; 

Надежда с помощью этого оператора выбора вы можете обновить таблицу.

Если вам нужен запрос на обновление, дайте мне знать, даст вам

0

Left является лучшим и будет более лучше, если мы используем это с TRIM, чтобы предотвратить лишние пробелы если таковые имеются:

UPDATE TABLE table1 SET Initial = LEFT(LTRIM(Firstname), 1) 
1

Добавить вычисленный столбец никогда не будет противоречащим:

alter table Mano add Initial as SUBSTR(Firstname, 1, 1) 
Смежные вопросы