Postgresql:搜索字段包含制表符。 (喜欢)

时间:2014-12-23 08:49:18

标签: postgresql

我正在搜索如何检查是否有任何字段包含TAB字符。

阅读this post后,我尝试使用此命令:

SELECT id FROM account WHERE description LIKE '%\t%';

但是它会返回包含&t; t'的所有字段。字符。

您是否有任何解决方案来代表TAB角色?

3 个答案:

答案 0 :(得分:13)

在SQL中没有"转义"像\t这样的字符。您可以使用chr()函数:

select id
from account
where description LIKE '%'||chr(9)||'%'

在这种情况下,我更喜欢strpos函数,因为我认为它使意图更清晰

select id
from account
where strpos(description, chr(9)) > 0

答案 1 :(得分:2)

你必须使用文字标签chacater,

 SELECT id FROM account WHERE description LIKE '%   %';

在psql中输入ctrl-V然后选择TAB进入选项卡。在其他环境中,还有其他方法可以输入文字标签。

或者,您可以使用转义字符串语法:e'%\t%'或八进制转义e'%\011%'

答案 2 :(得分:0)

我参加这个聚会很晚,但是今天看了一下,我发现您也可以使用正则表达式。

SELECT id FROM account WHERE description ~ '\t';