是否有一种方法可以使SQLite返回带有单元格的行,就像后面的一个或多个字符而不是零个或多个字符的任何序列一样?

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

有没有一种方法可以使SQLite返回带有单元格的行,就像后面的一个或多个字符而不是零个或多个字符的任何序列一样?换句话说,不考虑所有精确匹配,但保留至少一个字符不匹配。

我已经尝试过:WHERE READING_ELEMENT LIKE 'SOMETHING%' AND READING_ELEMENT != 'SOMETHING'WHERE READING_ELEMENT LIKE 'SOMETHING_%'

但是它不起作用。它保持完全匹配。有什么想法吗?

sql sqlite sql-like
1个回答
0
投票

猜测您的问题似乎是由于没有考虑案件。因此,您可能需要补偿情况,例如:-

SELECT * FROM mytable WHERE READING_ELEMENT LIKE upper('SOMETHING%') AND upper(READING_ELEMENT) != upper('SOMETHING');
SELECT * FROM mytable WHERE READING_ELEMENT LIKE upper('SOMETHING_%');
SELECT * FROM mytable WHERE length(replace(upper(READING_ELEMENT),upper('SOMETHING'),'')) > 0;
  • 请注意,后者忽略了序列的重现。

使用诸如:-]之类的数据>

SOMETHING
SOMETHING1
SOMETHINGELSE
something
SoMeThInG
SOMETHINGSOMETHING

然后将第一和第二个查询丢弃

  • 第一个(完全匹配),
  • 第四个(大小写不匹配)和
  • 第5行(区分大小写)。
  • 第三个查询,因为它替换了SOMETHING的两个出现,因此会另外丢弃第六行。

© www.soinside.com 2019 - 2024. All rights reserved.