使用IN运算符的竖线中的值-SQL

问题描述 投票:0回答:2

我遇到了一个查询,其中几个值用IN操作符进一步加在竖线中。在这种情况下,任何人都可以请教垂直条的使用和效果吗?

示例:

SELECT businesspa0_.C_BP_Group_ID AS C1_139_0_,
FROM C_BP_Group businesspa0_
WHERE businesspa0_.C_BP_Group_ID in( |713643BF6582479BAD2AF21B80836AA2|, |EAF66367C3D04B30A2F3A1E953A6E703|, |26A1FE81E1EA4A6E8D3517E8232264D1|, |1B7DCAD27AF64D16ADCFB4EBE8600078|, |A61E061A702547BB8E1D6B749B4A502A|)
sql syntax
2个回答
0
投票

此评论太长了。

我不认为|在SQL标准中有任何含义。双竖线||用于字符串连接。

就是说,在许多数据库中,|用作按位or运算符的中缀。在这种情况下,这显然不是用处,因为第一次使用时没有“左”运算符。

可能有一些数据库支持单个竖线,在这种情况下这很有意义。

您可能完全意识到,字符串应该用单引号引起来。您的值看起来像二进制十六进制值。这些如何在输入中表示取决于数据库。例如,在Postgres中,这将是:

x'A61E061A702547BB8E1D6B749B4A502A'

0
投票

这不是真正的SQL语法。您可以如下使用此查询:

SELECT businesspa0_.C_BP_Group_ID AS C1_139_0_,
FROM C_BP_Group businesspa0_
WHERE businesspa0_.C_BP_Group_ID in( '713643BF6582479BAD2AF21B80836AA2', 'EAF66367C3D04B30A2F3A1E953A6E703', '26A1FE81E1EA4A6E8D3517E8232264D1', '1B7DCAD27AF64D16ADCFB4EBE8600078', 'A61E061A702547BB8E1D6B749B4A502A')
© www.soinside.com 2019 - 2024. All rights reserved.