Использование синтаксиса SELECT 2 в ADO
Автор:Eve Cole
Время обновления:2009-05-30 19:54:35
В продолжение предыдущей статьи:
WHERE можно использовать следующие операторы BETWEEN, LIKE и IN.
Между... и
Между...И определяет, попадает ли значение выражения в указанный диапазон. Синтаксис:
выражение между значением1 и значением2
Указывает, что если значение выражения находится между значением 1 и значением 2, оператор Между... И вернет значение True, в противном случае он вернет значение False.
Вы также можете добавить логическую операцию Not expr между значением1 и значением2, чтобы определить противоположное условие, то есть выражение выходит за пределы диапазона значений1 и значения 2.
Если выражение, значение1 или значение2 имеет значение Null, Between...And вернет значение Null.
Нельзя использовать подстановочный знак * в операторе Между... И. Например, нельзя использовать 100* и 500* для поиска номеров кодов продуктов между 1000 и 5000.
Нравиться
Нравится находить совпадающие ключевые слова.
За Like следует выражение, в котором перечислены сравниваемые строки или строковые литералы.
В выражении вы можете использовать оператор Like для сравнения данных поля со строковым выражением. Вы можете использовать подстановочный знак *, чтобы найти похожие данные, например «王*», и запрос вернет данные, начинающиеся с [王] во всех полях.
Символы, которые можно использовать в выражении оператора после Like:
%: подстановочный знак, представляющий один или несколько символов. Например, LIKE jack% найдет все строковые литералы, начинающиеся с jack, а LIKE %jack% найдет строковые литералы, включая jack.
_: подстановочный знак, состоящий из одного символа, например, LIKE jack_ найдет строковые литералы, такие как jack1, jacka и т. д., а LIKE _jack_ найдет строковые литералы, такие как ajackb, cjackf и т. д.
[xy]: укажите диапазон символов, например, LIKE [ac]jack найдет строковый текст, такой как ajack1, bjack, cjack и т. д.
[^xy]: укажите диапазон исключаемых символов, например, LIKE [^ac]jack не будет искать строковые литералы, такие как ajack1, bjack, cjack и т. д.
В следующем примере вы получите данные, которые начинаются с буквы A, за которой следует любая буква между B и G и число:
Как "A[BG]#"
В
Формула работы IN, ограниченный диапазон.
Синтаксис:
выражение [Не] In(значение1, значение2,…)
Среди них expr — это поле выражения операции. значение1, значение2, ... — указанные списки диапазонов.
Например, вы можете использовать оператор In, чтобы указать город, в котором должны жить студенты: Гуанчжоу, Шэньчжэнь или Шаньтоу:
ВЫБИРАТЬ *
ОТ студентов
ГДЕ CityIn («Город Гуанчжоу», «Город Шэньчжэнь», «Город Шаньтоу»)
Давайте рассмотрим пример программы ASP, использующей эту команду SQL.
Мы можем использовать предложение IN для определения диапазона. Например, программа ASP rs24.asp выглядит следующим образом: [ВЫБЕРИТЕ имя, предмет, оценку Из экзамена, где оценка In (ВЫБЕРИТЕ оценку из экзамена, где оценка >= 60)], используйте Чтобы узнать, что балл больше или равен 60-балльной записи:
<%
Установите conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Установите rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "ВЫБЕРИТЕ имя, предмет, балл Из экзамена, где оценка In (ВЫБЕРИТЕ балл из экзамена, где балл >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.Write "<p>В: баллы ниже 60 не учитываются"
Делайте пока не rs2.EOF
Response.Write "<BR>" & rs2("Имя") & " " & rs2("Тема") & " Оценка: " & rs2("Оценка")
rs2.MoveNext
Петля
rs2.Закрыть
%>
Вышеупомянутая программа ASP rs24.asp использует браузер на стороне клиента для просмотра результатов выполнения и отображения записей с оценками, превышающими или равными 60 баллам.
НЕ В
Выражение NOT IN означает, что оно не принадлежит указанному диапазону.
Давайте рассмотрим пример использования этой команды SQL в программе ASP.
Мы можем использовать предложение Not In, чтобы определить записи, которые не должны отображаться. Например, программа ASP rs24.asp выглядит следующим образом: [ВЫБЕРИТЕ имя, предмет, оценку Из экзамена, где оценка не в (ВЫБЕРИТЕ оценку из экзамена, где оценка). >= 60)], используйте IN Найдите записи с оценкой не больше или равной 60 баллам, то есть записи со оценкой менее 60 баллов:
<%
Установите conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Установите rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "ВЫБЕРИТЕ имя, предмет, балл из экзамена, где балл отсутствует (ВЫБЕРИТЕ балл из экзамена, где балл >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.Write «<p>Не входит: баллы выше 60 не учитываются»
Делайте пока не rs2.EOF
Response.Write "<BR>" & rs2("Имя") & " " & rs2("Тема") & " Оценка: " & rs2("Оценка")
rs2.MoveNext
Петля
rs2.Закрыть
%>
Для указанной выше программы ASP rs24.asp используйте браузер на стороне клиента для просмотра результатов выполнения и отображения записей с оценками, не превышающими или равными 60 баллам.