SQL E SEUS CARACTERES
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.
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.
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
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
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...
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...
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?
Resumindo então, data vai # (sustenido)
texto vai aspas simples e valores numéricos não preciza nada.
é isso?
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:
Você colocou as aspas duplas por causa do VB, pois é uma string, mas a instrução executada é:
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"
O & serviu para juntar a string anterior com a variável e depois junta a outra string
Resultado que o VB vai executar
Espero ter ajudado a esclarecer um pouco...
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...
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!
__________________________________________________________________
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