在PostgreSQL列中搜索子字符串

时间:2019-09-11 16:15:49

标签: sql postgresql

我有一个DB列,其中包含以下条目:

  • “ 56/45/34”
  • “ 78/34/145”
  • “ 45”
  • “”(即NULL)

我要搜索与某个数字匹配的行-例如,“ 45”应返回第一行和第三行,而不返回第二行。

2 个答案:

答案 0 :(得分:4)

我们可以在此处尝试使用带有单词边界的正则表达式方法:

select col
from your_table
where col ~* '\y45\y';

enter image description here

Demo

答案 1 :(得分:3)

您可以将定界的字符串转换为数组,然后测试该数组

select *
from the_table
where '45' = any(string_to_array(the_column, '/'))