SQL CLR函数返回可空的布尔值

时间:2017-03-20 14:33:55

标签: c# .net sql-server nullable sqlclr

我试图编写一个返回可以为空的布尔值的SQLCLR函数。如果我声明这样的函数:]然后我在尝试使用程序集时出错,说返回值的类型不匹配。是否有我遗漏的东西或者在这个实例中是否无法返回可以为空的布尔值?

2 个答案:

答案 0 :(得分:2)

所有.NET Sql*类型都有一个.Null字段(静态属性),它在T-SQL中为该数据类型创建一个新的NULL值实例

此外,所有Sql*类型还有其他一些常见属性和方法:

  • .IsNull来测试关于T-SQL的值是NULL
  • .Value将返回等效的.NET数据类型,例如String的{​​{1}}或SqlString的{​​{1}} / int,等

我相信,您应该使用.NET可空类型的唯一时间是使用T-SQL Int32数据类型,该数据类型映射到SqlInt32DATETIME2

答案 1 :(得分:0)

谢谢juharr。我知道我会遗漏一些简单的东西。其他人需要的答案是将声明更改为:public static SqlBoolean IsTimeZoneDST(SqlString timeZone),然后在需要时return SqlBoolean.Null