Замена значения ячейки другим, при выборке - MySQL
Формулировка задачи:
Здравствуйте,
Есть следующий запрос
результат на скрине.
Необходимо что бы в ячейках колонки
SELECT COLUMN_NAME AS ColumnName,
DATA_TYPE AS Datatype
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tableName';Datatype
, со значениемvarchar
, эти значения заменялись наVARCHAR(25)
. Подскажите пожалуйста как реализовать такой запрос?Решение задачи: «Замена значения ячейки другим, при выборке»
textual
Листинг программы
SELECT COLUMN_NAME AS ColumnName, CASE WHEN DATA_TYPE="varchar" THEN "VARCHAR(100)" ELSE UPPER(DATA_TYPE) END AS Datatype FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tableName';
Объяснение кода листинга программы
В представленном коде:
SELECT— это команда для выбора данных из базы данных.COLUMN_NAME— это название столбца, который мы хотим выбрать.DATA_TYPE— это тип данных столбца, который мы хотим выбрать.CASE WHEN— это конструкция, которая позволяет выбрать определенное значение в зависимости от условия.UPPER(DATA_TYPE)— это функция, которая преобразует строку в верхний регистр.WHEN DATA_TYPE=varcharTHENVARCHAR(100)`` — это условие, которое проверяет, является ли тип данных столбца 'varchar', и если да, то заменяет его на 'VARCHAR(100)'.ELSE UPPER(DATA_TYPE)— это условие, которое проверяет, не является ли тип данных столбца 'varchar', и если нет, то оставляет его без изменений.END— это закрывает конструкциюCASE WHEN.FROM INFORMATION_SCHEMA.COLUMNS— это источник данных, из которого мы выбираем информацию о столбцах таблицы.WHERE TABLE_NAME = 'tableName'— это условие, которое фильтрует только те строки, где имя таблицы равно 'tableName'.