2012-03-26 27 views
5

Bir tabloya tarih eklemeye çalışıyorum ancak eklenen tarihin tarihi ve biçimi bozuk. Tablodaki veri türü, Date. Ekleme komutum aşağıdaki gibidir.SQL Server 2008 - tarih biçimi sorunu eklenirken

insert into Trans(ID, TDate, Description) 
values(1, CONVERT(datetime, 25-02-2012, 101), 'Opening') 

ben dd/MM/yyyy biçiminde eklemek çalışıyorum ve benim tabloda aynı formatta istiyorum. Ama benim masamda tarih 1894-07-22!

Tarihin tam olarak istediğim biçim olarak eklenmesini istiyorum ve takılı tarihi tabloya 25-02-2012 olarak görmek istiyorum.

Burada sorun nedir? Biri yardım edebilir mi?

+5

Sen ISO biçimini kullanmalısınız ('YYYYAAGG:

tarih saat dönüşümleri için bir referans olarak kullanmak için birkaç yararlı bağlantıları vardır '- ** no ** tire ya da herhangi bir şey!) dil ve tarih ayarları bağımsız ve SQL Server'ın her örneği üzerinde çalışır. Ayrıca: SQL Server **, belirli bir dize tabanlı biçimde tarih depolamıyor - 8 bayt ikili veri olarak saklanır. Gördüğünüz tek şey, "DATE" nin ** dizgi temsili ** 'dir - siz ** belirli bir formatta saklayamazsınız ** bir "DATE", "DATE" bir "DATE" dir. –

cevap

0

Tarihinizin etrafında tek tırnak kullanmalısınız. Eğer dd/mm/yyyy formatının tarih biçimi istiyorsanız o zaman convert(varchar, getdate(), 101) kullanırsanız Tarih biçiminin mm/dd/yyyy olacak convert (datetime, '25 -02-2012' , 103)

insert into Trans(ID,TDate,Description) 
values(1,CONVERT(datetime,'25-02-2012',103),'Opening') 

kullanmak isteyecektir.

+0

Teşekkür ederim bluefeet. onu deneyecek .. – Codebug

+0

convert (char (10)), '25-02-2012', 103) tablo alanımın datetime olduğu için hata veriyor. – Codebug

+0

, (datetime ...) dönüştürmek için güncelleyin – Taryn

-1
insert into emp 
(EMPNO,ENAME,DEPTNO,JOB,SAL,COMM,MGR,HIREDATE)values 
(7839,'KING',10,'PRESIDENT',5000,NULL,NULL,'17-11-81') 
+0

Bu cevap, soruyla ne ilgisi var? –