Как проверить тип данных в SQL?

Пользователь

от rodger.botsford , в категории: SQL , 3 года назад

Как проверить тип данных в SQL?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от greyson , 3 года назад

@rodger.botsford Вы можете получить тип данных в SQL через INFORMATION_SCHEMA таблицу, небольшой пример получения типа данных для колонки last_name в user таблице:


1
2
3
4
5
# Вывод:varchar
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'user'
  AND COLUMN_NAME = 'last_name';


Пользователь

от ransom_homenick , 2 года назад

@rodger.botsford 

В SQL существует несколько способов проверить тип данных колонки или выражения.


Один из наиболее простых способов - использовать функцию typeof, которая возвращает тип данных указанного выражения. Например:

1
SELECT typeof(column_name) FROM table_name;


С помощью этой функции можно проверить тип данных каждой колонки таблицы.


Другой способ - использовать оператор CASE и функцию instanceof, которая позволяет проверить, является ли выражение экземпляром указанного типа данных. Например:

1
2
3
4
5
6
7
8
SELECT
    column_name,
    CASE
        WHEN column_name instanceof INTEGER THEN 'INTEGER'
        WHEN column_name instanceof TEXT THEN 'TEXT'
        ELSE 'OTHER'
    END
FROM table_name;


Этот запрос выведет тип данных каждой колонки column_name в таблице table_name.


Обратите внимание, что не все СУБД поддерживают функцию typeof и оператор instanceof. В таком случае можете использовать дру