2659646573 发表于 2021-3-8 16:49

SQL语句求解

在看别人写的代码,不太理解下面这个语句里:WHEN '' IN ( '' + '' ) THEN 是干什么的,这句不是恒成立的吗?那后面的还有什么用呢?顺便想问一下,泥潭有没有数据库/编程的群?
SELECT
    *
FROM
    凭证表
WHERE
    年度= '2018'
    AND 1 = (
    CASE
      WHEN '' IN ( '' + '' ) THEN 1
                ELSE ( CASE WHEN 科目代码 IN ( '' ) THEN 1 ELSE 0 END )
      END
    )

暗铁 发表于 2021-3-8 17:02

你这引号,根本跑不起来吧

—— 来自 samsung SM-G9650, Android 10上的 S1Next-鹅版 v2.4.4.1

革萌 发表于 2021-3-8 17:05

如果 你没把引号里的东西删掉的话,这句其实是始终不成立的吧。

hgfdsa 发表于 2021-3-8 17:08

本帖最后由 hgfdsa 于 2021-3-8 17:09 编辑

看了下,不是双引号,是两个单引号,这是调试抓出来的吧
盲猜一个实际跑起来应该是

WHEN '科目1' IN ( '科目1,' + '科目2' ) THEN 1

2659646573 发表于 2021-3-8 19:25

暗铁 发表于 2021-3-8 17:02
你这引号,根本跑不起来吧

—— 来自 samsung SM-G9650, Android 10上的 S1Next-鹅版 v2.4.4.1 ...

额,有什么问题吗,跑是跑得起来,只是结果不行,全都是单引号。。。

2659646573 发表于 2021-3-8 19:26

hgfdsa 发表于 2021-3-8 17:08
看了下,不是双引号,是两个单引号,这是调试抓出来的吧
盲猜一个实际跑起来应该是



啊,确实有这种可能,不过我手上的就是我发出来的样子,我都纳了闷了。看看是谁给的代码吧

暗铁 发表于 2021-3-8 19:33

2659646573 发表于 2021-3-8 19:25
额,有什么问题吗,跑是跑得起来,只是结果不行,全都是单引号。。。

鹅球上字体贴的太近看成双引号了

—— 来自 samsung SM-G9650, Android 10上的 S1Next-鹅版 v2.4.4.1

2659646573 发表于 2021-3-8 19:35

暗铁 发表于 2021-3-8 19:33
鹅球上字体贴的太近看成双引号了

—— 来自 samsung SM-G9650, Android 10上的 S1Next-鹅版 v2.4 ...

不过还是没用,这句子也没什么意义吧。。。
p.s. 原来泥潭发帖被回复是不会提醒的啊
页: [1]
查看完整版本: SQL语句求解