如何查询Sybase中函数的返回类型
Sybase数据库函数返回类型查询方法
- 方法1:临时表中转查询(所有函数通用,准确率最高)
把函数返回值作为字段存入临时表,再通过sp_help查询临时表的字段属性即可得到准确的返回类型,示例代码如下:
执行后返回结果的-- 以getdate()为例,将函数返回值写入临时表 SELECT getdate() AS func_result INTO #temp_func_return -- 查询临时表字段属性 sp_help #temp_func_returnType列对应的就是函数的返回类型,该方法对内置函数、自定义标量函数都适用,带参数的函数只要传入合法参数即可正常验证。 - 方法2:自定义函数直接查系统表
如果是用户自建的自定义函数,可以直接查询系统表关联得到返回类型,示例代码如下:SELECT o.name AS function_name, t.name AS return_data_type FROM sysobjects o JOIN systypes t ON o.xtype = t.type WHERE o.type = 'FN' -- FN表示标量值函数,表值函数对应类型为TF AND o.name = '自定义函数名称' - 方法3:语法校验快速验证(仅适合已知候选类型的场景)
如果你已经有猜测的目标类型,可以用CONVERT函数做类型转换,执行不报错即可证明类型匹配,以验证getdate()返回datetime类型为例:-- 执行无报错则说明getdate()返回值可直接转换为datetime,类型匹配 SELECT CONVERT(datetime, getdate())
注:通过以上方法验证可以确认,内置函数
getdate()的返回类型确实为datetime类型。
内容的提问来源于stack exchange,提问作者ericj
相关产品推荐
相关产品推荐

