c# - SQL CLR 函数返回可为空的 bool 值

标签 c# .net sql-server nullable sqlclr

我正在尝试编写一个 SQLCLR 函数,它将返回一个可为 null 的 bool 值。如果我这样声明函数:public static SqlBoolean? IsTimeZoneDST(SqlString timeZone) 然后我在尝试使用程序集时收到错误消息,指出返回值的类型不匹配。在这种情况下,我是否遗漏了什么或者无法返回可为 null 的 bool 值?

最佳答案

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

此外,所有 Sql* 类型还有其他几个通用属性和方法:

  • .IsNull 就 T-SQL 而言,测试值是否为 NULL
  • .Value 将返回等效的 .NET 数据类型,例如 SqlStringStringint/Int32SqlInt32

我认为,唯一需要使用 .NET 可空类型的时间是使用 T-SQL DATETIME2 数据类型时,它映射到 DateTimeDateTime?

关于c# - SQL CLR 函数返回可为空的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42906337/

相关文章:

c# - 递归处理文件夹中文件的快速(低级)方法

.net - Specflow 设置延迟

sql - 如何强制 SQL Server 登录 nolock 提示

SQL Server 2008 连接问题

sql - 如何在sql中实现先进先出

c# - 让 XAML 设计器在 VS2010 中显示设计

c# - Windows 服务中托管的 WCF 单例。如何在没有第一个 "touching"客户端服务的情况下自动启动 WCF

c# - 在 ASP.NET MVC 中返回相同 Controller 的不同 View

c# - 适用于 .NET 的 Google Analytics API

c# - 通过 PHP 与 .net 通信