前端传递字符串类型开始时间和结束时间,后端根据开始时间和结束时间取出对应日期的所有数据,数据库的时间是字符串类型
字符串类型日期可以直接在SQL比吗?
温馨提示:若问题解决了,望给个采纳,谢谢!若有其他疑问随时咨询
1、效果如下
2、语句如下
--创建标
create table test(
datavalue varchar(50),
timevalue varchar(50)
)
--模拟50条记录
declare @index int
declare @timevalue varchar(50)
set @index=0
while @index<50 begin
set @index+=1
set @timevalue=convert(varchar(8),getdate(),120)+convert(varchar,convert(int,rand()*20))
insert into test(datavalue,timevalue)
values(@index,@timevalue)
end
--根据传入的字符串时间查询范围记录
declare @startTime varchar(10)
declare @endTime varchar(10)
set @startTime='2022-03-17'
set @endTime='2022-03-19'
select * from test
where timevalue>=@startTime and timevalue<=@endTime
order by convert(datetime,timevalue) asc
不了解你在说什么。
对于sql而言,自然要看数据库中地类型是什么类型了,如果是datetime
类型,那就可以直接对比;如果是varchar
(也就是字符串),那自然不行了。
格式化字符串的日期格式,可以用between and 来查询日期区间
可以
字符串比不了
不了解你在说什么。
对于sql而言,自然要看数据库中地类型是什么类型了,如果是datetime类型,那就可以直接对比;如果是varchar(也就是字符串),那自然不行了