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

Sam*_*zon 10 postgresql

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

看完这篇文章后,我尝试使用这个命令:

SELECT id FROM account WHERE description LIKE '%\t%';
Run Code Online (Sandbox Code Playgroud)

但它返回包含't'字符的所有字段.

你有任何解决方案来代表TAB角色吗?

a_h*_*ame 14

在SQL中,没有像"转义"这样的字符\t.您可以使用此chr()功能:

select id
from account
where description LIKE '%'||chr(9)||'%'
Run Code Online (Sandbox Code Playgroud)

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

select id
from account
where strpos(description, chr(9)) > 0
Run Code Online (Sandbox Code Playgroud)


Jas*_*sen 5

你必须使用文字标签chacater,

 SELECT id FROM account WHERE description LIKE '%   %';
Run Code Online (Sandbox Code Playgroud)

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

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