gpt4 book ai didi

sqlclr - Sql CLR 函数行作为输入

转载 作者:行者123 更新时间:2023-12-04 02:58:10 25 4
gpt4 key购买 nike

我正在尝试创建一个可以在 Sql 中使用的 CLR 哈希函数。

我要做的是计算一行的 md5 校验和 值。如何定义函数的输入应该是一行?

例如,Sql原生的checksum函数以'expression'为参数,可以这样调用:

Select CHECKSUM(*) From dbo.SomeTable

我在 C# 中定义什么签名才能将 * 作为参数?

最佳答案

不,这在 SQLCLR 中是不可能的。

SQLCLR 接口(interface)不允许在几个内部 T-SQL 函数中找到的一些结构,即:

  1. 传入“*”作为入参
    示例:校验和(*)
    示例:BINARY_CHECKSUM(*)

  2. 相同函数名的可选输入参数
    示例:CONVERT(DATETIME, '2013-04-20', 101) 与 CONVERT(DATETIME, '2013-04-20)
    示例:CHARINDEX('o', 'bob', 3) 与 CHARINDEX('o', 'bob')

  3. 为相同的函数名称返回不同的数据类型
    示例:CONVERT(INT, '12') 与 CONVERT(DATETIME, '2013-04-20')
    示例:COALESCE(@IntVariable, 12) 与 COALESCE(@VarcharVariable, 'test')

本质上,没有函数名的重载。

关于sqlclr - Sql CLR 函数行作为输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com