Usando a sintaxe SELECT 2 no ADO
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:54:35
Continuando com o artigo anterior:
WHERE pode usar os seguintes operadores BETWEEN, LIKE e IN.
Entre...e
Entre...E determina se o valor da expressão está dentro do intervalo especificado. A sintaxe é:
expr Entre valor1 e valor2
Indica que se o valor de expr estiver entre valor1 e valor2, o operador Between...And retornará True; caso contrário, retornará False;
Você também pode adicionar a operação lógica Not expr Between value1 And value2 para determinar a condição oposta, ou seja, expr está fora do intervalo de valor1 e valor 2.
Se expr, valor1 ou valor2 for Nulo, Entre...E retornará um valor Nulo.
Você não pode usar o caractere curinga * no operador Entre...E. Por exemplo, você não pode usar 100* e 500* para localizar números de código de produto entre 1000 e 5000.
Como
Gostaria de encontrar palavras-chave correspondentes.
Like é seguido por uma expressão listando as strings ou literais de string a serem comparados.
Em uma expressão, você pode usar o operador Like para comparar os dados de um campo com uma expressão de string. Você pode usar o curinga * para encontrar dados semelhantes, como "王*", e a consulta retornará dados começando com [王] em todos os campos.
Símbolos que podem ser usados na expressão do operador após Like:
%: Caractere curinga, representando um ou mais caracteres. Por exemplo, LIKE jack% encontrará todos os literais de string começando com jack, e LIKE %jack% encontrará literais de string incluindo jack.
_: Um caractere curinga de um caractere, por exemplo, LIKE jack_ encontrará literais de string como jack1, jacka, etc., e LIKE _jack_ encontrará literais de string como ajackb, cjackf, etc.
[xy]: Especifique o intervalo de caracteres, por exemplo, LIKE [ac]jack encontrará texto de string como ajack1, bjack, cjack, etc.
[^xy]: Especifique o intervalo de caracteres excluídos, por exemplo, LIKE [^ac]jack não encontrará literais de string como ajack1, bjack, cjack, etc.
No exemplo a seguir, você obterá dados que começam com a letra A e são seguidos por qualquer letra entre B e G e um número:
Como "A[BG]#"
EM
Fórmula de operação IN, alcance limitado.
A sintaxe é:
expr [Não] In(valor1, valor2,…)
Entre eles, expr é o campo de expressão da operação. valor1, valor2, ... são as listas de intervalos especificados.
Por exemplo, você pode usar o operador In para especificar a cidade onde os alunos devem morar, que é Guangzhou, Shenzhen ou Shantou:
SELECIONE *
DOS alunos
ONDE CityIn ('Cidade de Guangzhou','Cidade de Shenzhen','Cidade de Shantou')
Vejamos um exemplo de programa ASP usando este comando SQL.
Podemos usar a cláusula IN para determinar o intervalo. Por exemplo, o programa ASP rs24.asp é o seguinte, [SELECT name, subject, score From exam Where score In (SELECT score From exam Where score >= 60)], use. IN para saber se a pontuação é maior ou igual ao recorde de 60 pontos:
<%
Definir conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Driver Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;"
Definir rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECIONE nome, disciplina, pontuação do exame Onde pontuação In (SELECIONE pontuação do exame Onde pontuação >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.Write "<p>In: pontuações abaixo de 60 não são contadas"
Faça enquanto não rs2.EOF
Response.Write "<BR>" & rs2("Nome") & " " & rs2("Assunto") & " Pontuação: " & rs2("Pontuação")
rs2.MoveNext
Laço
rs2.Fechar
%>
O programa ASP rs24.asp acima usa um navegador no lado do cliente para navegar pelos resultados da execução e exibir registros com pontuações maiores ou iguais a 60 pontos.
NÃO ESTÁ EM
A expressão NOT IN significa que não pertence ao intervalo especificado.
Vejamos um exemplo de uso deste comando SQL em um programa ASP.
Podemos usar a cláusula Not In para determinar os registros que não devem ser exibidos. Por exemplo, o programa ASP rs24.asp é o seguinte, [SELECT name, subject, score From exam Where score Not In (SELECT score From exam Where score). >= 60)], use IN Encontre os registros com pontuação não maior ou igual a 60 pontos, ou seja, registros com pontuação inferior a 60 pontos:
<%
Definir conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Driver Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;"
Definir rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECIONE Nome, Assunto, Pontuação do Exame Onde a Pontuação Não Está (SELECIONE Pontuação do Exame Onde Pontuação >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.Write "<p>Not In: pontuações acima de 60 não são contadas"
Faça enquanto não rs2.EOF
Response.Write "<BR>" & rs2("Nome") & " " & rs2("Assunto") & " Pontuação: " & rs2("Pontuação")
rs2.MoveNext
Laço
rs2.Fechar
%>
Para o programa ASP rs24.asp acima, use o navegador do lado do cliente para navegar pelos resultados da execução e exibir registros com pontuações não maiores ou iguais a 60 pontos.