3

我正在弃用从 linq 编码回到 sql 存储过程的项目。(我的公司拒绝升级我们的 sql 2000 数据库。)我被困在试图将其转换为 sql 的当前代码上。有人能帮忙吗?

Dim ICD9Codes = (
From a In Linq2Db.ICD9Codes
Where IIf(String.IsNullOrEmpty(Variable1), 1 = 1, a.Code.StartsWith(Variable1))
Select a).ToList

我被困在“IIF”语句上,如果值不为空,则“where”子句仅使用 if 语句。

4

1 回答 1

3

要将其转换为 SP,您需要创建Variable1一个参数。该IIf部分可以在WHERE子句中解决,如下所示:

CREATE PROCEDURE [procedure_name] @variable1 varchar(50)
AS
BEGIN
    SELECT *
    FROM ID9Codes
    WHERE LEN(LTRIM(RTRIM(ISNULL(@variable1, '')))) = 0
        OR Code lIKE @Variable1 + '%'
END
于 2013-08-13T03:01:02.710 回答