获取 sql 之间的日期
get sql date between
我想从 SQL 服务器中的选定日期范围内获取数据。
这是 SQL 查询 (SQL Server 2005)
SELECT * FROM slips WHERE CONVERT(char, date_Of_Birth, 101) BETWEEN ('01/08/2019') AND ('21/08/2019')
它为我提供了数据库中每条记录的结果,我如何获得选定的范围?我只想显示选定的范围。
您可以将 BETWEEN
与日期一起使用 (see also)
SELECT
*
FROM slips
WHERE date_Of_Birth BETWEEN '01/08/2019' AND '21/08/2019'
不要对日期使用 between
。 Here 很好地解释了为什么不这样做。
另外,不要对日期使用字符串比较。 SQL 服务器有很多不错的内置日期功能。
我会推荐:
select s.*
from slips s
where s.date_of_birth >= '2019-08-01' and
s.date_of_birth < '2019-08-22'
如果您想 select 过去 N 个月的单据 - 将 N 替换为月份
Select *
FROM slips
Where DATEDIFF(MONTH, date_of_birth, GETDATE()) Between 1 and N
如果您想select 过去 N 天的单据 - 将 N 替换为天数
Select *
FROM slips
Where DATEDIFF(DAY, date_of_birth, GETDATE()) Between 1 and N
如果你想select最近N年的单子 - - 把N换成年份
Select *
FROM slips
Where DATEDIFF(YEAR, date_of_birth, GETDATE()) Between 1 and N
我假设你的 date_of_birth 是日期类型那么你需要将你的 string 转换为 日期
SELECT * FROM slips WHERE date_Of_Birth BETWEEN CONVERT(date, '01/08/2019', 103) AND CONVERT(date, '21/08/2019', 103)
如果你的 date_of_birth 是 string 类型你应该使用这个
SELECT * FROM slips WHERE CONVERT(date, date_Of_Birth,103) BETWEEN CONVERT(date, '01/08/2019', 103) AND CONVERT(date, '21/08/2019', 103)
我想从 SQL 服务器中的选定日期范围内获取数据。
这是 SQL 查询 (SQL Server 2005)
SELECT * FROM slips WHERE CONVERT(char, date_Of_Birth, 101) BETWEEN ('01/08/2019') AND ('21/08/2019')
它为我提供了数据库中每条记录的结果,我如何获得选定的范围?我只想显示选定的范围。
您可以将 BETWEEN
与日期一起使用 (see also)
SELECT
*
FROM slips
WHERE date_Of_Birth BETWEEN '01/08/2019' AND '21/08/2019'
不要对日期使用 between
。 Here 很好地解释了为什么不这样做。
另外,不要对日期使用字符串比较。 SQL 服务器有很多不错的内置日期功能。
我会推荐:
select s.*
from slips s
where s.date_of_birth >= '2019-08-01' and
s.date_of_birth < '2019-08-22'
如果您想 select 过去 N 个月的单据 - 将 N 替换为月份
Select *
FROM slips
Where DATEDIFF(MONTH, date_of_birth, GETDATE()) Between 1 and N
如果您想select 过去 N 天的单据 - 将 N 替换为天数
Select *
FROM slips
Where DATEDIFF(DAY, date_of_birth, GETDATE()) Between 1 and N
如果你想select最近N年的单子 - - 把N换成年份
Select *
FROM slips
Where DATEDIFF(YEAR, date_of_birth, GETDATE()) Between 1 and N
我假设你的 date_of_birth 是日期类型那么你需要将你的 string 转换为 日期
SELECT * FROM slips WHERE date_Of_Birth BETWEEN CONVERT(date, '01/08/2019', 103) AND CONVERT(date, '21/08/2019', 103)
如果你的 date_of_birth 是 string 类型你应该使用这个
SELECT * FROM slips WHERE CONVERT(date, date_Of_Birth,103) BETWEEN CONVERT(date, '01/08/2019', 103) AND CONVERT(date, '21/08/2019', 103)