![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Два рядки вважаються рівними, якщо вони складаються з однакових символів, які слідують в одному порядку. Рядок з кількох символів може зберігатись у різних типах даних (як-от CHAR і VARCHAR), але однакові по змісту рядки будуть рівні між собою.
Операторами порівняння >, <, >=, <= рядки порівнюються в лексикографічному (алфавітному) порядку. Алгоритм порівняння рядків та
зрозумілий:
Якщо ”менше”
, то
Умова <
виконується також якщо n<m та
=
, тобто перший рядок є префіксом другого.
Наприклад,
‘fodder’<’foo’
‘bar’<’bargain’
‘aaa’<’AAA’??? У Jet SQL певного порядку не спостерігається.
Asc("A")=97, Asc("a")=65
Asc("F")=70, Asc("f")=102
На сервері Ms SQL Server при сортуванні порядок українського алфавіту підтримується вірно. У MySQL, наприклад, українські букви і, є йдуть до а.
Порівняння рядків зі зразком
Вираз порівняння виглядає так:
s LIKE p,
Де s – рядок, що тестується, а p – зразок, тобто рядок, який може містити необов’язкові символи-шаблони:
Таблиця 5.12. Символи-шаблони в SQL
Символи шаблону ANSI* | Символи шаблону Jet SQL | Символи шаблону Transact SQL | Символи в рядку, що тестується |
% | % та * | % | Нульова або більша кількість будь-яких символів |
_ | _ та? | _ | Один довільний символ |
# | Будь-яка одиночна цифра (0-9) | ||
[список_символів] | [список_символів] | Одиночний символ, який входить у список | |
[!список_символів] | [^список_символів] | Одиночний символ, який не входить у список | |
[символ1-символ2] | [символ1-символ2] | Одиночний символ, який належить до вказаного діапазону** |
* Символи шаблону ANSI доступні для використання лише при використанні ядра Microsoft® Jet версии 15.X і програми Microsoft OLE DB Provider для Jet. В іншому разі вони сприймаються як звичайні символи.
**Наприклад: [А-Я] – одна з заглавних букв; [a-яA-Я0-9] – будь-яка буква або цифра.
Приклад 5.3. Нехай ми намагаємося пригадати назву фільму, у якого назва починається зі слова „Star” та наступне слово має 4 букви. Для видачі усіх таких назв напишемо запит:
У запит будуть уключені фільми, такі, як Star Wars та Star Trek.
Приклад 5.4. Нехай треба відібрати всі англомовні назви, які містять частку ‘s присвійного відмінку. Слід виконати запит:
Оскільки символ „’” обмежує рядки, він не може представляти себе безпосередньо. Але існує умова: два апострофа підряд трактуються як апостроф як такий, а не як символ обмеження рядка. Тому підрядок ‘’s представляє шуканий рядок ‘s. Будуть знайдені такі назви, як „Logan’s Run” або “Alice’s Restaurant”.
Дата публикования: 2014-12-28; Прочитано: 313 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!