SQL-запрос для получения любого столбца, значение которого может быть битным

#sql #sql-server #database

#sql #sql-server #База данных

Вопрос:

Кто-нибудь сможет пролить некоторый свет на то, как я могу получить только столбцы, тип которых бит (bool), без необходимости устанавливать ограничения на запросы? В настоящее время я могу возвращать каждый столбец, но это приведет к путанице во встроенном запросе в моей программе, если будет выбран столбец int.

 SELECT COLUMN_NAME
FROM databasex.INFORMATION_SCHEMA.COLUMNS
WHERE [..?..]
  

любая помощь или совет будут оценены. Спасибо

Комментарии:

1. Какую СУБД вы используете? Пожалуйста, правильно отметьте свой вопрос.

Ответ №1:

 select * from 
information_schema.columns
 where data_type='bit'
  

Комментарии:

1. ну, теперь я чувствую себя глупо, я бы попробовал это, но использовал bit вместо ‘bit’ спасибо

Ответ №2:

Если вы используете SQL Server, вы можете запросить представления sys.columns and sys.types

 SELECT 
    OBJECT_NAME(c.OBJECT_ID) AS TableName, 
    c.name AS ColumnName
FROM sys.columns AS c
JOIN sys.types AS t
    ON c.user_type_id = t.user_type_id
WHERE 
    t.name = 'bit'
  

Комментарии:

1. Спасибо, приведенный выше ответ больше подходит для того, для чего он мне нужен, но я буду ссылаться на это для дальнейшей работы. еще раз спасибо