ERRO NO FOMATO DA DATA SQL
estou tentando gravar um registro numa base SQL SERVER com o comando baixa, só que a data que fica sempre 01/01/1990
INSERT IN BDADOS (DATA, NOME) VALUES (21/07/2005,'RICARDO')
OU
INSERT IN BDADOS (DATA, NOME) VALUES (07/21/2005,'RICARDO')
INSERT IN BDADOS (DATA, NOME) VALUES (21/07/2005,'RICARDO')
OU
INSERT IN BDADOS (DATA, NOME) VALUES (07/21/2005,'RICARDO')
bom, só uso access, e pelo menos nele tem que ter cerquila # e tem que estar no formato mm/dd/yyyy
INSERT IN BDADOS (DATA, NOME) VALUES (#07/21/2005#,'RICARDO')
não sei se o mesmo se aplica ao sql server.
INSERT IN BDADOS (DATA, NOME) VALUES (#07/21/2005#,'RICARDO')
não sei se o mesmo se aplica ao sql server.
Eu uso o Firebird, pelo menos nele coloco a data entre apostrofos, e no formato mm/dd/yyyy, tente assim, quem sabe é igual no sqlserver
INSERT IN BDADOS (DATA, NOME) VALUES ('07/21/2005','RICARDO')
INSERT IN BDADOS (DATA, NOME) VALUES ('07/21/2005','RICARDO')
Eu também uso Firebird e para datas, uso hÃfens como separadores e aspas simpes:
INSERT INTO BDDADOS VALUES ('07-21-2005', 'PAULO')
Pelo jeito, valores DATA são mesmo os mais chatos de se trabalhar em SQL.
INSERT INTO BDDADOS VALUES ('07-21-2005', 'PAULO')
Pelo jeito, valores DATA são mesmo os mais chatos de se trabalhar em SQL.
Vamos lá..
pro sql server data é sempre yyyy/mm/dd
se vc estiver usando o insert pelo VB, ou seja..não em estored procedure..
vc pode fazer de duas maneiras..tanto passando a data como yyy/mm/dd e colocando as aspas simples entre elas ..tipo '2005-01-01' ou dar um set dateformat dmy antes do insert e passar a data com dd/mm/yyy
sql = "set dateformat dmy insert into tabela(data) values ('" & format(data,"dd/mmyyyy") & "'"
se vc estiver usando em stored procedure, ou seja, recebendo um campo como datetime smalldatetime nela, obrigatoriamente a data tem que ser passada como yyy/mm/dd..
todas tem que ser passadas com as aspas simples
quando vc for fazer um select entre datas, sempre coloque como yyyy/mm/dd e de preferencia a hora...ex...select * from tabela where data between '2005-01-01 00:00' and '2005-01-01 23:59'
pro sql server data é sempre yyyy/mm/dd
se vc estiver usando o insert pelo VB, ou seja..não em estored procedure..
vc pode fazer de duas maneiras..tanto passando a data como yyy/mm/dd e colocando as aspas simples entre elas ..tipo '2005-01-01' ou dar um set dateformat dmy antes do insert e passar a data com dd/mm/yyy
sql = "set dateformat dmy insert into tabela(data) values ('" & format(data,"dd/mmyyyy") & "'"
se vc estiver usando em stored procedure, ou seja, recebendo um campo como datetime smalldatetime nela, obrigatoriamente a data tem que ser passada como yyy/mm/dd..
todas tem que ser passadas com as aspas simples
quando vc for fazer um select entre datas, sempre coloque como yyyy/mm/dd e de preferencia a hora...ex...select * from tabela where data between '2005-01-01 00:00' and '2005-01-01 23:59'
Tópico encerrado , respostas não são mais permitidas