什么是SQL Server中的“对象”等价物?

时间:2015-05-22 13:30:23

标签: sql-server sql-server-2014

我想创建一个可以接收任何类型的用户定义函数。 我的问题是,在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)是我正在寻找的类型吗?为什么呢?

2 个答案:

答案 0 :(得分:2)

sql_variant最接近的,但是有很多类型(主要是较新的类型)它不会接受:

  

下表列出了使用sql_variant无法存储的值的类型:

     

VARCHAR(最大)

     

VARBINARY(最大)

     

为nvarchar(最大)

     

XML

     

文本

     

NTEXT

     

图像

     

rowversion(时间戳)

     

SQL_VARIANT

     

地理

     

HIERARCHYID

     

几何

     

用户定义的类型

     

DATETIMEOFFSET

答案 1 :(得分:0)

如果您从Javascript发布自定义对象,则会将其序列化为JSON。这就是javascript如何表示自定义对象。也许你也可以这样做。