Подтвердить что ты не робот

Как объединить две строки в SQL Server 2005

Я хочу объединить слова "манекен" и "док".

Как я могу объединить их в SQL Server 2005? Поддерживает ли он двойные кавычки?

4b9b3361

Ответ 1

Попробуйте следующее:

DECLARE @COMBINED_STRINGS AS VARCHAR(50); -- Allocate just enough length for the two strings.

SET @COMBINED_STRINGS = 'rupesh''s' + 'malviya';
SELECT @COMBINED_STRINGS; -- Print your combined strings.

Или вы можете поместить свои строки в переменные. Таким образом:

DECLARE @COMBINED_STRINGS AS VARCHAR(50),
        @STRING1 AS VARCHAR(20),
        @STRING2 AS VARCHAR(20);

SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
SET @COMBINED_STRINGS = @STRING1 + @STRING2;

SELECT @COMBINED_STRINGS; 

Вывод:

rupesh'smalviya

Просто добавьте пробел в свою строку в качестве разделителя.

Ответ 2

так что если у вас есть таблица с такой строкой, как:

firstname lastname
Bill      smith

вы можете сделать что-то вроде

select firstname + ' ' + lastname from thetable

и вы получите "Билл Смит"

Ответ 4

Чтобы объединить две строки в 2008 году или ранее:

SELECT ISNULL(FirstName, '') + ' ' + ISNULL(SurName, '')

полезно использовать ISNULL, потому что "String + NULL" даст вам только NULL

Еще одно: убедитесь, что вы объединяете строки, иначе используйте оператор CAST:

SELECT 2 + 3 

Дает 5

SELECT '2' + '3'

даст 23

Ответ 5

DECLARE @COMBINED_STRINGS AS VARCHAR(50),
        @STRING1 AS VARCHAR(20),
        @STRING2 AS VARCHAR(20);

SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
SET @COMBINED_STRINGS = @STRING1 + @STRING2;

SELECT @COMBINED_STRINGS;

SELECT '2' + '3';

Я набрал это в файле sql с именем TEST.sql, и я запустил его. Я получил следующее сообщение.

+-------------------+
| @COMBINED_STRINGS |
+-------------------+
|                 0 |
+-------------------+
1 row in set (0.00 sec)

+-----------+
| '2' + '3' |
+-----------+
|         5 |
+-----------+
1 row in set (0.00 sec)

Изучив эту проблему, я обнаружил, что наилучшим и надежным способом сортировки строк в SQL является использование метода CONCAT. Поэтому я сделал следующие изменения в том же файле.

#DECLARE @COMBINED_STRINGS AS VARCHAR(50),
 #       @STRING1 AS VARCHAR(20),
 #       @STRING2 AS VARCHAR(20);

SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
#SET @COMBINED_STRINGS = @STRING1 + @STRING2;
SET @COMBINED_STRINGS = (SELECT CONCAT(@STRING1, @STRING2));

SELECT @COMBINED_STRINGS;

#SELECT '2' + '3';
SELECT CONCAT('2','3');

и после выполнения файла это был результат.

+-------------------+
| @COMBINED_STRINGS |
+-------------------+
| rupesh'smalviya   |
+-------------------+
1 row in set (0.00 sec)

+-----------------+
| CONCAT('2','3') |
+-----------------+
| 23              |
+-----------------+
1 row in set (0.00 sec)

SQL-версия, которую я использую: 14.14

Ответ 6

Я получил легкое решение, которое выберет из таблицы базы данных и позволит вам сделать это легко.

SELECT b.FirstName + b.LastName FROM tbl_Users b WHERE b.Id='11'

Вы можете легко добавить пробел, если вы попробуете

SELECT b.FirstName +' '+ b.LastName FROM Users b WHERE b.Id='23'

Здесь вы можете комбинировать столько, сколько ваша таблица.