01/10/2018, 12:14

Tại sao tất cả ngày tháng năm trong sql đều hiện ra năm 1900

em insert into vào bảng trong đó có trường datatime thì em có nhập vào là 2017/5/6 thì lúc select ra nó đều hiện ra năm 1900 hết là sao ạ

CREATE TABLE [dbo].[Employee](
	[EmpNo] [int] NOT NULL
,	[EmpName] [nchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
,	[BirthDay] [datetime] NOT NULL
,	[DeptNo] [int] NOT NULL
, 	[MgrNo] [nchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
,	[StartDate] [datetime] NOT NULL
,	[Salary] [money] NOT NULL
,	[Status] [int] NOT NULL
,	[Note] [nchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,	[Level] [int] NOT NULL
) ON [PRIMARY]

em cảm ơn ạ

Dark.Hades viết 14:20 ngày 01/10/2018

Setting datetime thế nào?
Bạn dùng sql gì?

Select bằng ngôn ngữ gì?
Update/insert bằng ngôn ngữ gì, câu lệnh ra sao?

Thử dùng tool dbeave rồi edit trực tiếp trên csdl, sau đó xem nó hiển thị thế nào

Đỗ Nhiên viết 14:29 ngày 01/10/2018

sql server anh ạ
câu lệnh insert của em đây

INSERT INTO [dbo].[Employee](EmpNo,EmpName,BirthDay,DeptNo,MgrNo,StartDate,Salary,[Status],[Level],Email)
VALUES(1,'do minh nhien',1997/9/12,1,'',2017/5/5,10000,1,3,'nhien@gmail.com'),
Dark.Hades viết 14:16 ngày 01/10/2018

1997/9/12

Thế này thì câu lệnh nó sẽ thực hiện phép toán chia trước khi nó ghi vào db, bảo sao ko lỗi.

Thêm dấu “Date-time”

Nên dùng dạng “YYYY-MM-DD H:i:s” để chuẩn hoá câu lệnh

Văn Dương viết 14:14 ngày 01/10/2018

Dữ liệu datetime mà insert string à ???

Bài liên quan
0