Sql 如何在Sybase中获取正确的列类型

Sql 如何在Sybase中获取正确的列类型,sql,sybase,sap-ase,system-tables,Sql,Sybase,Sap Ase,System Tables,我必须知道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 为什么结

我必须知道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

为什么结果不如预期?如何获得正确的列类型?我打算稍后使用此信息创建一个动态查询,以创建另一个表。

您需要在type和usertype列上将systypes连接到syscolumns。

我可以问一下,当MySQL是Sybase特定的问题时,为什么要标记它?是什么让您认为实际结果是错误的?希望很少修复编码错误。请查看systypes表
type=39
给出4个结果:varchar、sysname、nvarchar、longsysname。因此,结果正如您的请求所期望的那样。但是当我创建表时,我将列类型指定为varchar