我在搜索如何檢查是否有任何字段包含製表符字符。Postgresql:搜索字段包含製表符。 (與喜歡)
閱讀this post後,我試圖用這個命令:
SELECT id FROM account WHERE description LIKE '%\t%';
但我返回包含「T」字的所有領域。
您是否有任何解決方案來表示製表符?
我在搜索如何檢查是否有任何字段包含製表符字符。Postgresql:搜索字段包含製表符。 (與喜歡)
閱讀this post後,我試圖用這個命令:
SELECT id FROM account WHERE description LIKE '%\t%';
但我返回包含「T」字的所有領域。
您是否有任何解決方案來表示製表符?
在SQL中,不存在像\t
這樣的字符「轉義」。您可以使用chr()
功能如下:
select id
from account
where description LIKE '%'||chr(9)||'%'
我更喜歡strpos
功能在這種情況下,因爲我覺得它使意圖更加清晰
select id
from account
where strpos(description, chr(9)) > 0
感謝它的工作!我走錯了路! – jedema
你必須使用文字標籤chacater,
SELECT id FROM account WHERE description LIKE '% %';
在psql中鍵入ctrl-V,然後TAB進入一個選項卡。在其他環境中,還有其他方法可以輸入文字標籤。
或者,您可以使用轉義字符串語法:e'%\t%'
或八進制轉義e'%\011%'
。
或者您可以使用十六進制值:0x09:D ... – HellBaby