如何使用“日期"?sql server 中的数据类型?

2022-01-15 00:00:00 datetime format sql database sql-server

您好朋友,当我尝试在数据类型为日期"的表中创建列时,我需要您的帮助,它给了我错误,我不能在这里添加它是我的代码

Hello Friends I need your help please when I'm trying to create column in table with data type "Date" it gives me error and I can't add it here is my code

Create table Orders (
Order_ID INT Primary Key,
Book_name varchar(100) ,
isbn varchar(100) ,
Customer_ID INT Foreign key references Customer,
Order_date date,
);

我需要另一件事来获取创建之前的日期

another thing it requires from me to get date of something which is before created one

更清楚一点:询问的查询表明要查找 8 月 2 日之前的日期我该怎么做

to be more clear: the query asked indicates to find date before 2 of August How can I do that

我尝试输入这样的数据

Insert Into Orders(Order_ID, Book_name, isbn, Customer_ID, Order_date) values (1, 'Design User Interface',9345678210123, 1, '02-08-2015'); 
Insert Into Orders(Order_ID, Book_name, isbn, Customer_ID, Order_date) values (2, 'Fire',9654693261489, 1, '05-08-2015'); 
Insert Into Orders(Order_ID, Book_name, isbn, Customer_ID, Order_date) values (3, 'The Odyssey',9654864332511, 2, '01-08-2015'); 
Insert Into Orders(Order_ID, Book_name, isbn, Customer_ID, Order_date) values (4, 'Anatomy',9654877777755, 2, '30-07-2015'); 
Insert Into Orders(Order_ID, Book_name, isbn, Customer_ID, Order_date) values (5, 'Surgery',9654864951753, 2, '01-07-2015'); 

但是,它只接受前 3 个插入,最后两个它给我错误:/

but, it accept only first 3 insertion and last two it gives me error :/

推荐答案

你的最后两个"没有问题.

You do not have a problem with the "last two".

但是,您确实对所有这些都有问题,但一个接一个.

However, you do have a problem with all of them, but one point after the other.

您的日期被解释为 MM-DD-YYYY.这种解释取决于您系统的文化.前三个变成了错误的日期,但有效.第 4 次中断,第 5 次从未执行(由于之前的错误).

Your dates are interpreted as MM-DD-YYYY. This intrepretation is depenent on your system's culture. The first three are turning into wrong dates but work. The 4th breaks and the fifth is never executed (due to the error before).

所以实际的错误在第 4 行.

So the actual error lies on line 4.

每当您处理日期时,请使用与文化无关的格式.最好使用以下任何一种-

Whenever you deal with dates, use culture independent formats. It is better to use either of the following-

20150730 (=> the 30th of July in 2015)

ODBC 格式

{d'2015-07-30'} or {t'23:30:59'} or {ts'2015-07-30 23:30:59'}

ISO 8601

'2015-07-30T00:00:00'

相关文章