SQL Combine Two Columns in Select Statement
If I have a column that is Address1 and Address2 in my database, how do I combine those columns so that I could perform operations on it only in my select statement, I will still leave them separate in the database. I would like to be able to do this
Where completedaddress is the combination of Address1 and Address2. searchstring would be like the data they searched for. So if they had ‘123 Center St’ in Address1 and ‘Apt 3B’ in Address2, how would I have it select it if the searchstring was ‘Center St 3B’ Is this possible with SQL?
Упражнения по SQL
SELECT (обучающий этап) задачи по SQL запросам 120 штук, DML 10 шт. Дистанционное обучение языку баз данных SQL. Интерактивные упражнения и тестирование по операторам SELECT,INSERT,UPDATE,DELETE языка SQL. SQL remote education. SQL statements exercises. Подзапросы, Соединение таблиц, Функции SQL, Введение в SQL, Скачать книги по SQL. Команды SQL,CREATE SEQUENCE,CREATE SYNONYM,CREATE USER,CREATE VIEW,Create Table,DROP,GRANT,INSERT,REVOKE,SET ROLE,SET TRANSACTION,SQL ALTER TABLE,SQL команды.
Функция MySQL CONCAT

База данных
Объединение строк в MySQL помогает добавлять одну строку в конец другой. Объединение полей строки или банка данных в отдельное поле в наборе результатов возможно с помощью методов управления строками MySQL. В этом руководстве при использовании методов MySQL CONCAT или CONCAT WS вы обнаружите различные способы одновременного объединения двух или более строк.
- Может возникнуть один или даже несколько аргументов.
- Объединяет аргументы и возвращает результирующую строку.
- Когда все значения являются недвоичными строками, вывести недвоичную строку.
- Выдает двоичную строку, если в аргументах используются какие-либо двоичные строки.
- Если он числовой, он также переводится в небинарную строковую форму.
- Если каждый аргумент равен NULL, эта функция возвращает NULL.
Откройте клиентскую оболочку командной строки MySQL из приложений и добавьте свой пароль по запросу.
Пример 1: объединение двух столбцов с помощью CONCAT
У нас есть таблица «учитель» в базе данных «данные». Мы хотим связать его строки из двух столбцов «TeachName» и «lastname» без пробела между ними.

Выполните команду SELECT CONCAT, указав имена столбцов в скобках, разделенных запятыми. Новый столбец «Имя» создается для хранения в нем объединенных строковых значений, и результат показан ниже.
>> S ELECT CONCAT ( TeachName , lastname ) AS Name FROM data .teacher ;
Пример 2: объединить два столбца с пробелом
Предположим, у нас есть приведенная ниже таблица «student» в базе данных «data», и мы хотим объединить ее строки из двух столбцов «Name» и «Subject» с пробелом между значениями.

Используйте приведенную ниже команду SELECT CONCAT, указав имена столбцов в скобках, чтобы объединить строковые значения, разделенные пробелом. Объединенные значения будут сохранены в новом столбце «StudentDetail». В результирующем столбце теперь есть все сцепленные строки.
>> SELECT CONCAT ( Name , ‘ ‘ , Subject ) AS StudentDetail FROM data .student ;

Пример 3: объединение нескольких столбцов со специальными символами
Предположим, что приведенная ниже таблица «учитель» объединяет строковые значения из более чем двух столбцов с другим специальным символом.

Попробуйте выполнить команду ниже, добавив вместо пробела знак «-». В результирующем наборе есть объединенный столбец строк из столбцов таблицы со специальными символами, использованными в нем.
>> SELECT CONCAT ( TeachName , ‘ — ‘ , subject , ‘ — ‘ , qualification ) AS Detail FROM data .teacher ;

Пример 4: объединение при получении дополнительных столбцов
Если вы хотите объединить строки столбцов при извлечении других столбцов в том же запросе, вы находитесь в нужном месте. Рассмотрим таблицу «животные» в базе данных «данные» ниже.

Мы объединили его три столбца; «Цвет», «Имя» и «Пол» с использованием пробелов и специальных символов между ними. Объединенная строка из этих столбцов будет сохранена в новом столбце «AnimData». С другой стороны, мы обращались к записям других столбцов «Цена» и «Возраст» из этой таблицы. Записи будут извлечены из строк, где пол животных «M» означает только самцов. У вас есть результаты объединенных строк из разных столбцов, а также из других столбцов, которые были отображены отдельно.
>> SELECT CONCAT ( Color , ‘ ‘ , Name , ‘ — ‘ , Gender ) AS AnimData , Price , Age FROM data .animals WHERE Gender = ‘M’ ;

Пример 5: объединить больше строк со строками столбцов
Если вы хотите добавить строки вместо специальных символов или пробелов, вы тоже можете это сделать. Итак, давайте рассмотрим простой пример этого. Предположим, у вас есть таблица «книга» и нижеприведенные данные о книгах, их ценах, авторах, томах и страницах, как показано на рисунке. Теперь мы будем объединять строки из столбцов «Имя», «Автор» и «Цена», используя эту таблицу.

Мы использовали оператор SELECT CONCAT для объединения строк из трех столбцов. Все данные этой таблицы сначала сортируются в порядке возрастания столбца «Имя». В скобках мы указали «Книга», «Автор» и «имеет цену» в качестве дополнительных строк вместо пробелов или специальных символов в кавычках. Теперь функция CONCAT примет первое значение с кавычками «Книга» вместе со значением из столбца «Имя», затем второе значение с перевернутой запятой «написано», за которым следует строковое значение столбца «Автор» и, наконец, третье. значение обратной запятой «имеет цену», за которым следует значение столбца «Цена». Все эти строки и значения из столбцов будут объединены, и получится полноценное предложение. Это совершенно новое мегастрочное предложение будет сохранено в новом столбце «BookDetail».
>> SELECT CONCAT ( ‘The book ‘ , Name , ‘ wrote by ‘ , Author , ‘ has price ‘ , Price ) AS BookDetail FROM data .book ORDER BY Name ASC ;

Пример 6: Объединение строк столбцов с использованием CONCAT_WS
CONCAT_WS кажется уникальным вариантом функции CONCAT, которая позволяет вам указать, какой символ (или символы) будет отброшен как разделитель, касающийся конкатенации строк. Это так же просто, как и простая функция CONCAT. Итак, давайте рассмотрим таблицу «social» в базе данных MySQL. Содержащую значения о пользователях, их наиболее часто используемых приложениях социальных сетей и возрасте пользователей. Теперь мы выполним конкатенацию с помощью функции CONCAT_WS.

В запросе ниже мы объединили три столбца и сохранили этот объединенный результат в столбце «Подробности». Как вы можете заметить, здесь есть кое-что другое, поскольку мы определили некоторые специальные символы «***» в кавычках перед именами столбцов. Это потому, что мы хотим добавить эти специальные символы между строками столбцов, идущими один за другим, используя функцию CONTACT_WS. Итак, из этого сценария ясно, что нам не нужно помещать специальные символы в запрос после каждого указанного столбца, когда речь идет о символах одного и того же типа.
>> SELECT CONCAT_WS ( ‘ *** ‘ , User , Website , Age ) AS Detail FROM data .social ;

Заключение
Теперь вы эффективно разбираетесь во всех важных вещах о конкатенации строковых столбцов и их значений с помощью простой функции CONCAT и функции CONCAT_WS в оболочке MySQL.
MySQL объединяет два столбца в один столбец
Я пытаюсь найти способ объединить два столбца в один, но продолжайте получать значение «0» в столбце вместо комбинации слов.
Это то, что я пробовал, а также другие:
Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно?
10 ответов
Я предполагаю, что вы используете MySQL, где оператор + делает добавление, а также бесшумное преобразование значений в числа. Если значение не начинается с цифры, тогда преобразованное значение 0 .
Итак, попробуйте следующее:
Два способа добавить пробел:
Это работает для меня
Попробуй, это работает для меня
Если вы работаете Oracle Затем:
Если вы работаете на MySql Затем:
Для поклонников MySQL там мне нравится функция IFNULL() . Другие ответы здесь предлагают аналогичную функциональность с функцией ISNULL() в некоторых реализациях. В моей ситуации у меня есть столбец описаний NOT NULL и столбец серийных чисел, который может быть NULL Вот как я объединил их в один столбец:
Мои результаты показывают, что результаты конкатенирования строки с помощью NULL приводят к NULL . Я получаю альтернативную ценность в этих случаях.
