Select 记录两个日期之间
Select Record between two dates
我有一个 table 名称销售,我有不同销售的记录现在我想在两个特定日期之间选择记录但是当我 运行 在 sql 中查询时我给出 null结果。
使用以下查询
SELECT *
FROM
TABLE_Name
WHERE Column Between Date and DateU
U 表示大日期,L 表示小日期
我有几个猜测...首先,您的 date
列是 varchar
.
类型
其次,您的格式日期错误,SQL 的标准是 yyyy-MM-dd
,所以我建议使用它。
因此,首先您需要更改数据类型:
alter table sale
alter column [date] date
然后用适当的格式过滤(但这只是猜测):
where [date] between 2019-02-09 and 2019-04-09
试试这个
SELECT SUM(SALE.PRICE) AS AMOUNT FROM SALE WHERE SALE.DATE BETWEEN '09-02-2019' AND '09-04-2019';
或者可能是日期格式的问题也试试这个
SELECT SUM(SALE.PRICE) AS AMOUNT FROM SALE WHERE SALE.DATE BETWEEN '2019-02-09' AND '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'))
您得到的是空值,因为没有指定日期的记录。 9-4-2019 和 9-4-2019
我有一个 table 名称销售,我有不同销售的记录现在我想在两个特定日期之间选择记录但是当我 运行 在 sql 中查询时我给出 null结果。
使用以下查询
SELECT *
FROM
TABLE_Name
WHERE Column Between Date and DateU
U 表示大日期,L 表示小日期
我有几个猜测...首先,您的 date
列是 varchar
.
其次,您的格式日期错误,SQL 的标准是 yyyy-MM-dd
,所以我建议使用它。
因此,首先您需要更改数据类型:
alter table sale
alter column [date] date
然后用适当的格式过滤(但这只是猜测):
where [date] between 2019-02-09 and 2019-04-09
试试这个
SELECT SUM(SALE.PRICE) AS AMOUNT FROM SALE WHERE SALE.DATE BETWEEN '09-02-2019' AND '09-04-2019';
或者可能是日期格式的问题也试试这个
SELECT SUM(SALE.PRICE) AS AMOUNT FROM SALE WHERE SALE.DATE BETWEEN '2019-02-09' AND '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'))
您得到的是空值,因为没有指定日期的记录。 9-4-2019 和 9-4-2019