Столбец соединения SQL - PullRequest
       1

Столбец соединения SQL

0 голосов
/ 04 декабря 2011

У меня есть следующий набор таблиц

customer(cus_id,cus_first_name,cus_last_name);
insert into customer values ('c001', 'tan', 'wah khang');

Я хочу создать оператор выбора для отображения первого имени, объединенного с фамилией.Пример:

tan wah khang

это возможно?

Ответы [ 5 ]

4 голосов
/ 04 декабря 2011

Вы можете использовать (это не называется «объединение», но) объединение *|| (double pipe)* оператор:

SELECT (cus_first_name || ' ' || cus_last_name) AS full_name
FROM customer
2 голосов
/ 29 сентября 2012

|| не совсем эквивалентно CONCAT_WS MySQL. CONCAT_WS удаляет разделитель, если один из операндов равен NULL. Таким образом, если имя NULL и фамилия Смит, в MySQL:

CONCAT_WS(' ', firstname, lastname) returns "Smith"

, тогда как в Oracle:

firstname || ' ' || lastname returns " Smith" (prepended with a space)

Я бы хотел знать, есть ли истинный эквивалент или вам нужно написать хранимую процедуру для эмуляции CONCAT_WS. Это ужасно полезно.

1 голос
/ 04 декабря 2011
select cus_first_name || ' ' || cus_last_name from customer
0 голосов
/ 04 декабря 2011

В Oracle, PostgreSQL, DB2, Informix:

select cus_first_name || ' ' || cus_last_name from customer

В SQL-сервере:

select cus_first_name + ' ' + cus_last_name from customer

В MS-Access:

select cus_first_name & ' ' & cus_last_name from customer

ВMySQL:

select concat(cus_first_name , ' ', cus_last_name) from customer

В Informix:

select concatenate(cus_first_name,concatenate(' ',cus_last_name)) from customer
0 голосов
/ 04 декабря 2011

Да:

select cus_first || ' ' || cus_last from your_table;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...