0
首先讓我們假設我們有這個字符串與轉義:爲什麼PostgreSQL的 'M' 像E '\%M%' 是真實的
select E'%m%' as m, E'%\m%' as m1, E'%\\m%' as m2, E'%\\\m%' as m3, E'%\\\\m%' m4;
m | m1 | m2 | m3 | m4
-----+-----+------+------+-------
%m% | %m% | %\m% | %\m% | %\\m%
現在我們將嘗試喜歡這個matsh:
select 'm' like E'%m%' as m, 'm' like E'%\m%' as m1, 'm' like E'%\\m%' as m2, 'm' like E'%\\\m%' as m3, 'm' like E'%\\\\m%' m4;
m to m | m to m1 | m to m2 | m to m3 | m to m4
--------+----------+---------+---------+--------
t | t | t | t | f
我能理解爲什麼m到m是真的,m到m1是真的。
我無法理解的是爲什麼m到m2(以及m到m3也是)也是如此。
任何人都可以描述爲什麼這個或通過我psql文檔部分與此描述。
在這種情況下,它似乎是使用'standard_conforming_strings',即不使用'E '...''字符串,會大大簡化事情。 –
啊,是的。忘記提及這一點。 – pozs