String 在字符串postgresql中查找空间

String 在字符串postgresql中查找空间,string,postgresql,space,String,Postgresql,Space,如何在postgresql中查找单词后的空格: 我的数据库中有两个相同的字符串: string1 string1 我试图找到一个前有两个空格,后有一个空格的 以下是我在查询结果时使用的一些查询: SELECT * FROM table WHERE "column" LIKE '__string1_'; --> *no result* SELECT * FROM part1 WHERE "column" LIKE '__string1%'; 结果: 1) string1 a

如何在postgresql中查找单词后的空格:

我的数据库中有两个相同的字符串:

string1
  string1 
我试图找到一个前有两个空格,后有一个空格的

以下是我在查询结果时使用的一些查询:

SELECT * FROM table WHERE "column" LIKE '__string1_';  -->   *no result*
SELECT * FROM part1 WHERE "column" LIKE '__string1%';
结果:

1)  string1 and xyx

2)  string1 and string2

3)  string1

但是我只需要string1,前后不带任何字符串。

可能有几种方法可以实现这一点。有关一些示例,请参见

但是,我使用
%
查找模式:
从表中选择*列,其中列类似于“%string1%”
将返回任何包含string1的内容,包括包含空格的col

您也可以尝试转义空格:
select*from table,其中列i类似“\\string1\”

或者,更简单的
select*从表中选择,其中列类似于'string1'


我还使用不区分大小写的
ILIKE
作为类似于
的区分大小写的
的替代方法,因此大小写在查询中并不重要。

可能有几种方法可以实现这一点。有关一些示例,请参见

但是,我使用
%
查找模式:
从表中选择*列,其中列类似于“%string1%”
将返回任何包含string1的内容,包括包含空格的col

您也可以尝试转义空格:
select*from table,其中列i类似“\\string1\”

或者,更简单的
select*从表中选择,其中列类似于'string1'


我还使用不区分大小写的
ILIKE
作为类似
的区分大小写的
的替代方法,因此,大小写在您的查询中并不重要。

为什么您不直接使用like
“string1”
?一些测试输入和输出会更好为什么您不直接使用like
“string1”
?一些测试输入和输出会更好如果我使用%I,我得到的结果是:“string1和string2”,但我只需要string1。如果我使用转义空格,我将得到以下错误:错误:未终止的引号字符串位于“\\string1\”;或其附近,而对于“string1”,我没有得到任何结果。除非删除1并将%放在其位置,否则不应得到带%的字符串2,即字符串%。但是,您将返回字符串12,因为%匹配所提供字符串之后或之前的任何内容,具体取决于它是前缀还是后缀。
\
是转义字符,因此它将转义空格,并确保它作为字符而不是空格处理。确保其
\\
(斜杠和后面的一个斜杠之间有一个空格)。但是空格是否有一个特定的用例,您不能只修剪数据以确保在需要时删除空格吗?如果我使用%我会得到类似“string1和string2”的结果,但我只需要string1。如果我使用转义空格,我将得到以下错误:错误:未终止的引号字符串位于“\\string1\”;或其附近,而对于“string1”,我没有得到任何结果。除非删除1并将%放在其位置,否则不应得到带%的字符串2,即字符串%。但是,您将返回字符串12,因为%匹配所提供字符串之后或之前的任何内容,具体取决于它是前缀还是后缀。
\
是转义字符,因此它将转义空格,并确保它作为字符而不是空格处理。确保其
\\
(斜杠和后面的一个斜杠之间有一个空格)。但是空格是否有一个特定的用例,您不能只修剪数据以确保在需要时删除空格吗?