我遇到了一个查询,其中几个值用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标准中有任何含义。双竖线||
用于字符串连接。
就是说,在许多数据库中,|
用作按位or
运算符的中缀。在这种情况下,这显然不是用处,因为第一次使用时没有“左”运算符。
可能有一些数据库支持单个竖线,在这种情况下这很有意义。
您可能完全意识到,字符串应该用单引号引起来。您的值看起来像二进制十六进制值。这些如何在输入中表示取决于数据库。例如,在Postgres中,这将是:
x'A61E061A702547BB8E1D6B749B4A502A'
这不是真正的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')