簡體   English   中英

SQL查詢IN子句:如何在傳遞列表時轉義特殊字符

[英]SQL query IN clause: How to escape special characters when passing a list

我在查詢中傳遞了日記列表,該查詢的日記名稱中包含特殊字符,例如&,-'()。 這是我的查詢內容:

select alt_id, citation.doi, citation.journal, citation.volume, 
citation.issue,  citation.pubdate, citation.title
from ALT_2018
where citation.journal in ('Mechanics & Astronomy', 'Women's Health', 'Current 
Directions in Psychological Science (Sage Publications Inc.)', 'Cement & 
Concrete Composites', 'Journal of Heart & Lung Transplantation', 'Infection control 
and hospital epidemiology (Online)', 'Journal of Research on Adolescence 
(Blackwell Publishing Limited)', 'Ophthalmic & Physiological Optics', 'Brain 
Structure & Function', 'New Solutions: A Journal of Environmental & 
Occupational Health Policy', 'European Physical Journal B -- Condensed 
Matter')

我嘗試使用反斜杠來轉義特殊字符,但是它不起作用,並且由於列表包含2000多種期刊,所以我也無法手動進行。 請幫幫我。

PS我正在Studio3T中使用SQL查詢擴展,因為數據保存在MongoDB中並且為json格式

您可以在此處閱讀有關MySQL字符串文字中的特殊字符的信息: https : //dev.mysql.com/doc/refman/8.0/en/string-literals.html

如果需要使用撇號字符,則可以使用以下方法之一:

'Women\'s Health'
'Women''s Health'
"Women's Health" -- only if sql_mode is not ANSI or ANSI_QUOTES

這些是選項。 我不知道您的意思是“它沒有用”,所以我不建議如何解決它。 我不使用Studio3T,所以我無法猜測是什么導致您無法使用這些解決方案之一。

MySQL字符串文字中的&字符沒有什么特別的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM