我可以编写不同日期格式的查询(SQL Server)

时间:2015-10-06 18:26:14

标签: sql-server datetime

  • BOOK(ISBN,作者ID,作者姓名,标题,No_Of_Copies)
  • STUDENT(学生ID,姓名,地址,课程)
  • LOAN(Student_ID,ISBN,Due_Date)

编写一个SQL语句,列出已过期所有借书的学生的学生ID(在您的SQL查询中,您可以使用截止日期>" 2-0CT-2008"来测试是否一本书已逾期了)

SELECT Student_Id
FROM   LOAN
WHERE  Due_Date > '2-OCT-2008'

上述查询是否正确,我可以用上述格式而不是

编写数据格式
SELECT Student_Id
FROM   LOAN
WHERE  Due_Date > '2-10-2008' 

1 个答案:

答案 0 :(得分:0)

根据您服务器的区域设置2-10-2008可能意味着2月10日或10月2日:

SET DATEFORMAT DMY
SELECT CONVERT(DATE, '2-10-2008')

SET DATEFORMAT MDY
SELECT CONVERT(DATE, '2-10-2008')

如果您拼出月份名称,事情显然会更稳定。 2-OCT-2008始终意味着2008年10月2日。

但是,我建议您使用ISO日期格式:

SELECT Student_Id
FROM   LOAN
WHERE  Due_Date > '2008-10-02'