SQL E SEUS CARACTERES

GIOVANI.ARRUDA 14/03/2005 00:31:59
#72870
Olá !

Bom pessoal, faz pouco que deixei de levar o vb como brincadiera, tenho tentado aprender mais do que ficar recortando e colando código, então queria perguntar o seguinte:

Numa instrução SQL depois do "=" ou ">" e outros, vejo que alguns caracteres mudam de instrução para instrição, como por exemplo, = ' " & text1.text &" ' ou #" & Text1.Text & "#
entendem . ' " & #, esses caracteres a que ma refiro, acredito que eles mudam conforme o tipo da dados, mas com saberei pra que tipo de dado serva cada um (se for esse o caso)?

Talvez pareça uma pergunta idiota para os mais experientes, mas eu gostaria muito de saber.

Obrigado.
USUARIO.EXCLUIDOS 14/03/2005 05:56:43
#72873
No SQL, você não precisa utilizar o caracter "#", ele é muito utilizado em banco access.
No caso de utilizar o caracter ' (aspas simples): você o utiliza para identificar uma string.
Ex: caso você queira saber todos os usuários de uma tabela que tenham o nome GIOVANI ARRUDA, você utilizaria SELECT * FROM Tabela_usuarios where nome = 'GIOVANI ARRUDA'
Outro caracter bastante utilizado em buscas é o sinal %.
Ex.: caso você queira saber todos os usuários de uma tabela que possuam no nome a palavra GIOVANI, você utilizaria SELECT * FROM Tabela_usuarios where nome like '%GIOVANI%'. Dessa forma você poderia obter GIOVANI SILVA, PAULO GIONVANI, etc...
Caso você queira buscar algum campo numérico, você não precisaria utilizar nenhum desses caracteres. Ex.: SELECT * FROM Tabela_usuarios where idade = 20
No caso de utilizar buscas em campos do tipo data, você também deve utilizar a aspas simples. Ex: SELECT * FROM Tabela_usuarios where data_nascimento = '2005-03-14'

Espero ter ajudado
THIAGO.CESAR 14/03/2005 07:52:45
#72876
Resposta escolhida
Cara, a explicação foi bem resumida e muito boa, só não concordo quando disse que não precisa utilizar o #.
Esse caracter (acho que se chama cerquilha) DEVE (pelo menos em Access) ser usado quando se trata de Datas. Na curiosidade acabei de testar uma expressão (Where Data >'01/01/2005') e recebi a mensagem "Tipo de dados imcompatível (sic) na expressão de critério"...

Portanto não vamos arriscar e continuemos a tratar datas com essas coisinhas, vamos lembrar também que quando for número quebrado, devemos usar ponto para separar os decimais. No mais, como já disse, a explicação está muito boa...
GIOVANI.ARRUDA 14/03/2005 14:51:55
#72956
E ai, bom o banco de dados que uso e Access mesmo, então não ha necessidade do & nem " tipo: ...where nome = ' text1.text' ?

Resumindo então, data vai # (sustenido)
texto vai aspas simples e valores numéricos não preciza nada.

é isso?
THIAGO.CESAR 15/03/2005 08:30:14
#73022
Giovani,

Suponho que sua dúvida nem seja tanto SQL e sim uma pequena confusão na hora de construir Strings.
Os caracteres " e & você usa NÃO EM FUNÇÃO DA SQL E SIM DO VB. Por exemplo, quando você quer criar uma SQL cujo parà¢metro está em uma variável então:
"Select * From Clientes Where Nome ='Thiago'"

Você colocou as aspas duplas por causa do VB, pois é uma string, mas a instrução executada é:
Select * From Clientes Where Nome='Thiago'


Um exemplo para consultar as vendas de um determinado dia:
DataConsulta = #21/10/2003# 'Aqui você colocou esses # para avisar ao VB que a variável DataConsulta está recebendo uma data, ainda não tem nada a ver com SQL.
ClienteConsulta = "Thiago"
"Select * From Vendas Where DataVenda =#" & DataConsulta & "# AND Cliente ='" & ClienteConsulta & "'"

O & serviu para juntar a string anterior com a variável e depois junta a outra string
Resultado que o VB vai executar
Select * From Vendas Where DataVenda = #21/10/2003# And Cliente = 'Thiago'


Espero ter ajudado a esclarecer um pouco...
RO.DRIGOSG 15/03/2005 09:16:47
#73028
Operadores

__________________________________________________________________
Aritiméticos

(+) - soma
(-) - subtração
(/) - divisão
(*) - multiplicação
(%) - módulo
__________________________________________________________________

__________________________________________________________________
De comparação

(=) - igual
(<> ou !=) - Diferente ou não igual
(>) - Maior
(<) - Menor
(>=) - Maior ou igual
(<=) - Menor ou igual
(!>) - Não maior
(!<) - Não menor
__________________________________________________________________

__________________________________________________________________
De concatenação

(+) - concatena duas strings
__________________________________________________________________

__________________________________________________________________
Lógico

And - E
Or - Ou
All - Todos
Any - Qualquer
Between - Entre
Exists - Existe
In - Em
Like - Como, parecido
Not - Não
Some - Algum
__________________________________________________________________

Este são os operadores basicos.

Falou!
Um abraço!
Tópico encerrado , respostas não são mais permitidas