我想创建一个可以接收任何类型的用户定义函数。 我的问题是,在C#/ Java这样的语言中,类似于“对象”的类型是什么,我需要将它放在我的函数上。
例如,如果我设计/调用我的函数:
CREATE FUNCTION dbo.MyFunction(@value int)
...
SELECT dbo.MyFunction('a');
我将收到以下例外情况:
Conversion failed when converting the varchar value 'a' to data type int.
varchar(max)
是我正在寻找的类型吗?为什么呢?
答案 0 :(得分:2)
sql_variant是最接近的,但是有很多类型(主要是较新的类型)它不会接受:
下表列出了使用sql_variant无法存储的值的类型:
VARCHAR(最大)
VARBINARY(最大)
为nvarchar(最大)
XML
文本
NTEXT
图像
rowversion(时间戳)
SQL_VARIANT
地理
HIERARCHYID
几何
用户定义的类型
DATETIMEOFFSET
答案 1 :(得分:0)
如果您从Javascript发布自定义对象,则会将其序列化为JSON。这就是javascript如何表示自定义对象。也许你也可以这样做。