我想知道是否有人可以帮助我。我知道我做错了事,并使事情变得复杂了,但是我不确定是什么。
当有人使用自闭症,自闭症,阿斯伯格斯等单词回答问题时,我想从问题205,227和278中挑出文字。
发生的事情是我只得到一个单词短语,而不是当有人在字符串中写单词时,例如“我有自闭症”将不会出现在输出中。仅当有人写自闭症时。我已经注意到它也是区分大小写的,我想知道是否可以对其进行编码,这样我就不必用大写和小写的所有组合来写所有单词。
我需要的主要内容是特定问题(question.id),并能够在这些问题的响应中搜索特定单词和短语的出现(texter_survey_response_value.value)。
select texter_survey_response.response_id, question_id, conversation_id, texter_survey_response_value.value as scrubbed_feedback from texter_survey_response join texter_survey_response_value on texter_survey_response.response_id = texter_survey_response_value.response_id where texter_survey_response_value.question_id IN (205, 227, 278) and texter_survey_response_value.value = 'Autism' or texter_survey_response_value.value = 'ASD' or texter_survey_response_value.value = 'Autistic' or texter_survey_response_value.value = 'Aspergers' or texter_survey_response_value.value = 'Autism Spectrum' or texter_survey_response_value.value = 'Autistic Spectrum Disorder' or texter_survey_response_value.value = 'Autistic Spectrum' or texter_survey_response_value.value = 'Autism Spectrum Disorder' and texter_survey_response_value.value is not null
如果使用=,它将仅搜索完全匹配。您可以like通过%在搜索词组的两边添加内容来实现包含搜索。您可以like通过仅使用大写或小写来解决大多数实现的区分大小写的性质。
=
like
%
select texter_survey_response.response_id, question_id, conversation_id, texter_survey_response_value.value as scrubbed_feedback from texter_survey_response join texter_survey_response_value on texter_survey_response.response_id = texter_survey_response_value.response_id where texter_survey_response_value.question_id IN (205, 227, 278) and texter_survey_response_value.value is not null and ( UPPER(texter_survey_response_value.value) like '%AUTISM%' or UPPER(texter_survey_response_value.value) like '%AUTISTIC%' or UPPER(texter_survey_response_value.value) like '%ASPERGERS%' or UPPER(texter_survey_response_value.value) like '%ASD%');
您没有编写要使用的数据库,因此您可能必须调用不同于的过程UPPER。
UPPER
希望这可以帮助 :)