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

Posted

技术标签:

【中文标题】如何在 Sybase 中获取正确的列类型【英文标题】:How to get proper column types in Sybase 【发布时间】:2014-12-19 14:18:24 【问题描述】:

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

为什么结果不符合预期?我怎样才能获得正确的列类型?我打算稍后使用这些信息来创建一个动态查询来创建另一个表。

【问题讨论】:

我可以问一下,当 mysql 是一个 Sybase 特定的问题时,为什么要标记它? 是什么让你觉得实际结果是错误的?希望很少能修复编码错误。 查看系统类型表。 type = 39 给出 4 个结果:varchar、sysname、nvarchar、longsysname。所以结果与您的要求一样。 但是当我创建表时,我将列类型指定为 varchar 【参考方案1】:

您需要在 type 和 usertype 列上将 systypes 加入 syscolumns。

【讨论】:

以上是关于如何在 Sybase 中获取正确的列类型的主要内容,如果未能解决你的问题,请参考以下文章

如何查看 Sybase 中的列元数据?

sybase中如何根据列名列出表?

Sybase 中神秘的“时间戳”数据类型是啥?

如何获取多个向量并在 R 中记录它们的数据类型?

Cassandra/Datastax:如何在 java 中获取具有列表数据类型的列的值

如何根据检索到的列类型为 bind_param 动态分配正确的类型?