SQL, где пункт одинарные кавычки
Я пытаюсь получить одинарные кавычки вокруг большого количества текста. пример
SELECT
DiagnosisID
FROM DiagnosisTable
WHERE DiagnosisID IN (
E01.8, E02, E03.2, E03.3, E03.8, E03.9, E89.0,
I21.01, I21.02, I21.09, I21.11, I21.19, I21.21, I21.29, I21.3, I21.4,
I22.0, I22.1, I22.2, I22.8, I22.9
G30.0, G30.1, G30.8, G30.9
Theres около 2300 различных идентификаторов. Есть ли другой способ разместить '' вокруг удостоверения личности? Есть ли другая функция для использования?
Спасибо
3 ответа
Скопируйте ваш quety в любой текстовый редактор (да, даже блокнот), который имеет функцию поиска и замены. замещать ,
с ', '
и добавить фират и последний '
вручную.
Если вы уже начали добавлять их вручную, сначала замените '
с пустой строкой.
Вот что я сделаю. Это не изящно и не элегантно, но подходит для моих целей.
Создайте таблицу для хранения идентификаторов.
create table MyID (ID varchar(10))
Создайте электронную таблицу и добавьте список в столбец B. В столбце A введите следующее:
Insert into MyID values ('
В столбце C введите:
)'
Скопируйте все столбцы до конца списка. В столбце D объедините их A+B+C+D, чтобы получить строку. Вставьте строку в окно SQL и вставьте строки. Затем используйте его в запросе:
`Select D.*
FROM DiagnosisTable D
join MyID M on D.DiagnosisID = M.ID`
Предполагая, что ваши данные в столбце A, добавьте формулу в столбец B
= "'" & A1 & "'"
и скопируйте формулу вниз. скопируйте столбец B, а затем вставьте значение в предложение where запроса SQL.