Мне нужно найти в базе данных два конкретных значения, это C1 и C5, которые появляются в примечаниях в каждой строке.
Однако некоторые заметки содержат такую информацию, как C128, C523, C100 - я не хочу их извлекать.
Чтобы усложнить ситуацию, некоторые заметки содержат С1 и С5 сами по себе, например, с пробелом непосредственно после числа, но некоторые примечания содержат С1 и С5 с буквами сразу после них, например C1DANNY, C5CLAIRE, C1RUN - мне нужно вытащить их, а также те, которые говорят только C1 и C5.
например. База данных
ID Notes
1 C1
2 C128
3 C5
4 C1
5 C1DANNY
6 C25
7 C1RUN
8 C10
9 C523
10 C5!
Итак, из приведенной выше базы данных я хочу получить только строки: 1, 3, 4, 5, 7 и 10.
Я не хочу вытягивать что-либо, имеющее номер после второй цифры, например строку 8 выше. Я хочу вытащить все, что имеет любой символ, кроме числа после второй цифры, например строки 3 и 10.
Я должен также упомянуть, что я читал о том, какие подстановочные знаки я могу использовать здесь https://www.w3schools.com/sql/sql_wildcards.asp но я чувствую, что мне, вероятно, нужно использовать оператор IF для циклического обхода и проверки того, что включено в каждую заметку, кроме база данных довольно большая (сотни тысяч строк).
Некоторый код уже написан предыдущим работником. Данный код:
(
esl.log_text LIKE 'C1%' OR
esl.log_text LIKE 'C5%' OR
esl.log_text LIKE '%' + CHAR(10) + 'C1%' OR
esl.log_text LIKE '%' + CHAR(10) + 'C5%' OR
esl.log_text LIKE '%' + CHAR(13) + 'C1%' OR
esl.log_text LIKE '%' + CHAR(13) + 'C5%'
)
К сожалению, это, кажется, тянет линии, которые включают, например, C10.
Я новичок в SQL и переполнении стека, и любая помощь в том, какой код я мог бы использовать для достижения этой цели, была бы очень признательна.