Sql 这个问题正确吗?从销售人员s中选择s,其中s.dateOfEmployment
我不确定如何查询日期,我尝试过在没有“”的情况下查询,但它不起作用。我想知道这是否正确。Dateofemployment是数据库中的一个日期,我在其中输入的日期就是日期Sql 这个问题正确吗?从销售人员s中选择s,其中s.dateOfEmployment,sql,database,Sql,Database,我不确定如何查询日期,我尝试过在没有“”的情况下查询,但它不起作用。我想知道这是否正确。Dateofemployment是数据库中的一个日期,我在其中输入的日期就是日期 SELECT s FROM Salesmen s WHERE s.dateOfEmployment < '26-06-2012' ORDER BY s.salepersonId ASC 您的查询是正确的,您必须将这两个引号括起来,因为dateOfEmployment是一个日期。但是,请注意日期和月份的位置,并确保您的查询
SELECT s
FROM Salesmen s
WHERE s.dateOfEmployment < '26-06-2012'
ORDER BY s.salepersonId ASC
您的查询是正确的,您必须将这两个引号括起来,因为dateOfEmployment是一个日期。但是,请注意日期和月份的位置,并确保您的查询符合您的要求。不要假设存在特定的日期格式dmy、ymd、mdy等,始终使用DBMS的函数来编写日期,而不是编写字符串文字,例如Oracle和其他一些文件中的TO_date 在最佳情况下,您可以使用标准SQL的日期文字:
WHERE s.dateOfEmployment < DATE '2012-06-26'
大多数数据库管理系统都支持它,并且没有歧义,因为只允许使用一种格式:yyyy-mm-dd当您省略引号时,您有一个简单的算术表达式:26-06-2012。这相当于-1992年。这是一个整数,而不是日期,因此比较可能会产生错误,或者至少不会返回true 在查询中输入日期时,应使用ISO标准格式:YYYY-MM-DD。大多数数据库将接受以下格式:
WHERE s.dateOfEmployment < '2012-06-26'
在Oracle中,您需要在常量之前添加日期。没有明确说明的问题,但您是否在寻找?从Salesmen s中选择s.“dateOfEmployment”,其中s.dateOfEmployment<'26-06-2012'由s.salepersonId订购您使用的是哪种数据库管理系统?-那个么什么是雇佣日期类型?你们使用的是哪种数据库管理系统?博士后?甲骨文?但它没有给我任何结果,即使应该有很多:/是的,你必须写“26-06-2012”。尝试使用SELECT*而不是SELECT s,再次确保您的日期格式是存储到数据库中的格式。