Sql server 选择两个日期之间的记录
Sql server 选择两个日期之间的记录,sql-server,visual-studio,sql-server-2014,between,qsqlquery,Sql Server,Visual Studio,Sql Server 2014,Between,Qsqlquery,我有一个表名sale,其中有不同销售的记录,现在我想在两个特定日期之间选择记录,但在sql中运行查询时,结果为null。使用以下查询 SELECT * FROM TABLE_Name WHERE Column Between Date and DateU 你是指上一个日期,我是指下一个日期,我有两个猜测。。。首先,您的date列的类型为varchar 其次,您的格式日期有误,SQL的标准是yyyy-MM-dd,所以我建议使用它 因此,首先需要更改数据类型: alter table sal
我有一个表名sale,其中有不同销售的记录,现在我想在两个特定日期之间选择记录,但在sql中运行查询时,结果为null。使用以下查询
SELECT *
FROM
TABLE_Name
WHERE Column Between Date and DateU
你是指上一个日期,我是指下一个日期,我有两个猜测。。。首先,您的
date
列的类型为varchar
其次,您的格式日期有误,SQL的标准是yyyy-MM-dd
,所以我建议使用它
因此,首先需要更改数据类型:
alter table sale
alter column [date] date
然后使用适当的格式进行过滤(但这只是猜测):
试试这个选择金额(销售价格)作为销售日期在“2019年2月9日”和“2019年4月9日”之间的销售金额代码>
或者可能是日期格式的问题,也可以尝试此
选择SUM(SALE.PRICE)作为SALE.DATE介于“2019-02-09”和“2019-04-09”之间的销售金额代码>尝试使用DATEPART
SELECT SUM(price) as 'Amount'
FROM sale
WHERE (YEAR(date) between YEAR('09-02-2019') AND YEAR('09-04-2019')) AND
(MONTH(date) between MONTH('09-02-2019') AND MONTH('09-04-2019')) AND
(DAY(date) between MONTH('09-02-2019') AND DAY('09-04-2019'))
由于没有指定日期的记录,您将获得null。2019年9月4日和2019年9月4日
SELECT SUM(price) as 'Amount'
FROM sale
WHERE (YEAR(date) between YEAR('09-02-2019') AND YEAR('09-04-2019')) AND
(MONTH(date) between MONTH('09-02-2019') AND MONTH('09-04-2019')) AND
(DAY(date) between MONTH('09-02-2019') AND DAY('09-04-2019'))