Как получить правильные типы столбцов в Sybase

Мне нужно знать тип данных некоторых столбцов в моей таблице в Sybase ASE. Вот мой запрос

select name from systypes
where type in (39,
47,
39,
39,
106
)

это возвращает

char       
varchar    
sysname    
nchar      
nvarchar       
decimaln       
longsysname    

Я надеялся, что он вернется

varchar
char
varchar
varchar
decimaln

почему результаты не такие, как ожидалось? Как я могу получить правильные типы столбцов? Я намерен использовать эту информацию позже для создания динамического запроса, создающего другую таблицу.


person AbtPst    schedule 19.12.2014    source источник
comment
Могу я спросить, почему вы помечаете MySQL, когда это вопрос, специфичный для Sybase?   -  person jarlh    schedule 19.12.2014
comment
Что заставляет вас думать, что фактический результат неверен? Надежда редко исправляет ошибки кодирования.   -  person idstam    schedule 19.12.2014
comment
Посмотрите на таблицу systypes. type = 39 дает 4 результата: varchar, sysname, nvarchar, longsysname. Таким образом, результат соответствует вашему запросу.   -  person B F    schedule 19.12.2014
comment
но когда я создал таблицу, я указал тип столбца как varchar   -  person AbtPst    schedule 19.12.2014


Ответы (1)


Вам необходимо соединить systypes с syscolumns как в столбцах type, так и в usertype.

person RobV    schedule 21.12.2014