2013-07-24 2 views
1

Я ищу скрипт sql, который может выбирать все поля в базе данных, которые имеют частный тип данных.Выделить все поля в базе данных определенного типа данных

Я просмотрел все переполнения стека и различные страницы, которые я нашел в google, но пока не помогло!

Возможно, я ищу не в тех местах.

Любые идеи?

+0

интересный, мой первый вопрос должен быть почему вы пытаетесь это сделать? Возможно, есть лучший способ. – twoleggedhorse

+0

Мне нужно управлять четырьмя идентичными SQL-серверами, которые не синхронизированы, и мне нужно преобразовать все типы данных datetime2 в datetime. У меня есть остальная часть кода sql, который сделает преобразование, ответ ниже - это прекрасно. Чувствуйте себя немного смущенным так просто ... –

ответ

2

Это даст вам список всех полей, относящихся к строчному типу данных в базе данных с именем таблицы, может быть, вы можете обойти это.

SELECT * FROM .INFORMATION_SCHEMA.COLUMNS где DATA_TYPE = ''

С уважением

Ashutosh Arya

+0

Спасибо! Я думал, что это будет сложнее! –

+0

Добро пожаловать! Вы можете найти другие таблицы ниже информации_Schema, если вы хотите попробовать что-то еще. :) –

0

В MySQL, можно попробовать выбрать по типу.

SELECT COLUMN_NAME 
FROM information_schema.COLUMNS 
WHERE COLUMN_TYPE = 'datetime'; 
1

Попробуйте

USE DatabaseName; 
SELECT TABLE_CATALOG 
    ,TABLE_SCHEMA 
    ,TABLE_NAME 
    ,COLUMN_NAME 
    ,DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE DATA_TYPE LIKE 'varchar' --Or other Data Type 
Смежные вопросы