Sql как объединить два столбца в один
Перейти к содержимому

Sql как объединить два столбца в один

  • автор:

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 ;

Выполните команду SELECT CONCAT

Пример 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 ;

Мы использовали оператор SELECT CONCAT для объединения строк

Пример 6: Объединение строк столбцов с использованием CONCAT_WS

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

кажется уникальным вариантом функции CONCAT

В запросе ниже мы объединили три столбца и сохранили этот объединенный результат в столбце «Подробности». Как вы можете заметить, здесь есть кое-что другое, поскольку мы определили некоторые специальные символы «***» в кавычках перед именами столбцов. Это потому, что мы хотим добавить эти специальные символы между строками столбцов, идущими один за другим, используя функцию 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 . Я получаю альтернативную ценность в этих случаях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *