Вопрос № 121199: Уважаемые експерти у меня к Вам вопрос.
Как узнать какой тип-данных имеет столбец (в MS SQL Server)?
Есть функция TYPE_NAME(...) но как ею воспользоватся я не знаю.
..
Вопрос № 121.199
Уважаемые експерти у меня к Вам вопрос.
Как узнать какой тип-данных имеет столбец (в MS SQL Server)?
Есть функция TYPE_NAME(...) но как ею воспользоватся я не знаю.
Отправлен: 01.02.2008, 15:30
Вопрос задал: Tadey (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Rlaovai
Здравствуйте, Tadey!
Не уверен, что заработает в MS SQL Server (нет под рукой чтобы проверить), но в Oracle прекрасно работает вот это: SELECT COLUMN_NAME, DATA_TYPE FROM user_tab_columns WHERE table_name = 'ИМЯ_ВАШЕЙ_ТАБЛИЦЫ' - возвращает таблицу с именами полей и их типами.
--------- Бороться и искать, найти и перепрятать!
Ответ отправил: Rlaovai (статус: 3-ий класс)
Ответ отправлен: 01.02.2008, 16:51 Оценка за ответ: 4 Комментарий оценки: Спасибо хотя б за ето, но ето не то.
Отвечает: DrakoN
Здравствуйте, Tadey!
TYPE_NAME = convert(sysname,
case
when t.user_type_id > 255 then t.name
else d.TYPE_NAME collate database_default
end)
--------- От Винта!
Ответ отправил: DrakoN (статус: Студент)
Ответ отправлен: 01.02.2008, 23:38 Оценка за ответ: 2 Комментарий оценки: Ваш ответ не полный, если в нем есть смысл то он не выражен. Правильный ответ будет следующим:
USE "имя базы даных";
GO
SELECT TYPE_NAME(c.user_type_id) as type_name
FROM sys.objects o JOIN sys.columns c
ON o.object_id = c.object_id
WHERE o.name = \'имя таблицы\' AND c.name=\'имя столбца\'