使用像我有一個表的列(名爲MyColumn),類似的「1」,「2」,「3」等 元素我倒要得到的一切從MyTable的地方Mycolumn等於「1」 我嘗試這個查詢如何找到單引號的文本,而不在PostgreSQL的
select * from MyTable where MyColumn='1' --- i've get 0 rows
而且我想
select * from MyTable where MyColumn='\'1\'';
我怎麼能找到文本元素也被加單引號?
使用像我有一個表的列(名爲MyColumn),類似的「1」,「2」,「3」等 元素我倒要得到的一切從MyTable的地方Mycolumn等於「1」 我嘗試這個查詢如何找到單引號的文本,而不在PostgreSQL的
select * from MyTable where MyColumn='1' --- i've get 0 rows
而且我想
select * from MyTable where MyColumn='\'1\'';
我怎麼能找到文本元素也被加單引號?
單引號(而不是「括號」)是由他們在SQL加倍轉義:
select *
from MyTable
where MyColumn='''1''';
這也是本手冊中記載:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS
除了你平時做( doubling apostrophes/single quotes)在這種情況下,我想指出一個事實,即在PostgreSQL中,如果有更長的字符串可能包含大量「特殊字符」,則可以使用「美元轉義」。那麼你的聲明將是:
select * from MyTable where MyColumn = $$'1'$$;
或者,如果你的風險具有雙重美元在您的字符串:
select * from MyTable where MyColumn = $THISWILLNEVERAPPEAR$'1'$THISWILLNEVERAPPEAR$;
參見: http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING
可以包含實際數據的取樣中你期望找到?是否有尾隨空格或其他字符?您可以使用REPLACE函數去除不需要的字符,如replace(MyColumn,'[','') – JosephStyons
myColumn的類型是什麼? – Asoub
您使用哪種編程語言?他們都支持以這種或那種方式引用值。請使用此功能。 –