web-gelistirme-sc.com

Tarih eklerken hata - Yanlış tarih değeri:

today adında bir sütunum var ve type DATE.

Tarihi '07-25-2012' biçiminde eklemeye çalıştığımda aşağıdaki hatayı alıyorum:

Sorgu çalıştırılamıyor: Hatalı tarih değeri: sütun için '07 -25-2012 '

19
Illep

MySql, tarih türü sütununda y-m-d biçiminde tarihi kabul ettiğinden, aşağıdaki şekilde eklemek için tarihi yyyy-mm-gg biçimine dönüştürmek için STR_TO_DATE işlevini yapmanız gerekir:

INSERT INTO table_name(today) 
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%y'));  

Benzer şekilde, tarihi MySQL biçiminden farklı bir biçimde seçmek isterseniz, DATE_FORMAT işlevini denemelisiniz.

SELECT DATE_FORMAT(today, '%m-%d-%y') from table_name; 
23
Akash KC

Genellikle mysql 'Y-m-d H: i: s' biçimini kullanır

1
aserwin

Varsayılan yapılandırmayı kullanarak MySQL tarihi olarak eklemek için tarihi YYYY-AA-GG'ye dönüştürmeniz gerekir.

Bunu yapmanın bir yolu STR_TO_DATE() :

insert into your_table (...)
values (...,str_to_date('07-25-2012','%m-%d-%Y'),...);
1
Ike Walker

Bu tarih biçimidir

TARİH türü, tarih bölümü olan ancak saat bölümü olmayan değerler için kullanılır. MySQL, DATE değerlerini 'YYYY-AA-GG' biçiminde alır ve görüntüler. Desteklenen aralık '1000-01-01' ila '9999-12-31'.

MySQL formatı '2012-07-25' olduğunda neden '07-25-2012' biçimini eklediniz? Aslında sql_modetraditional/strict mode ise, bu hatayı alırsanız sadece 0000-00-00 girer ve bir uyarı verir: 1265 - Data truncated for column 'col1' at row 1.

1
Jacob

mySQL tarih eklemek için YYYY-AA-GG biçimini kullanmanız gerekir

0
Deepak Goel

Tabloyu oluştururken "DATE" kodunu veri türü olarak kullanabilirsiniz. Bu sayede yukarıdaki hatayı önleyebilirsiniz .

CREATE TABLE Employee (birth_date DATE);
INSERT INTO Employee VALUES('1967-11-17');
0
dgsuraj