Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 选择两个日期之间的记录_Sql Server_Visual Studio_Sql Server 2014_Between_Qsqlquery - Fatal编程技术网

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'))