关于日前比较的这个SQL语句怎么写?
SQL Server数据库,表中有一字段Date表示日前,但用nvarchar类型。例如其值为2004/8/2。我的目的是,从数据库中找出前一天的所有数据(今天是3号,就把2号的数据找出来)。那这个Sql语句怎么写啊。谢谢!
另一个问题是怎么把现在的日前弄进SQL语句里
问题点数:0、回复次数:7Top
1 楼Edison621(重新来过)回复于 2004-08-03 17:56:58 得分 0
既然你在数据库中使用字符串表示的,那么无非就是裁剪组合字符串嘛
1。首先得到今天的日期,然后转换成long型,减1,再转换成你所需要的字符串形式。然后组成select语句,进行查询。
2。问题2与问题1类似,解决了问题1自然就能解决问题2了。
Top
2 楼sYwb(虚数传播网络 www.vByte.com)回复于 2004-08-03 17:57:39 得分 0
问错了吧? sql版
select * from [table] where DateDiff(Day,Convert([Date],DateTime),getdate())>0
2.
insert into table(col1,col2) values(getdate(),getdate())Top
3 楼Edison621(重新来过)回复于 2004-08-03 17:57:50 得分 0
或者也许DataTime本来就有方法得到当前日期的前一天?不是很熟,你可以试试看Top
4 楼sYwb(虚数传播网络 www.vByte.com)回复于 2004-08-03 17:59:05 得分 0
参考SQL 联机手册里面的函数
Convert,DateDiff,getdate()函数Top
5 楼weisai(与雪共舞)回复于 2004-08-03 17:59:58 得分 0
不太懂,能不能说的具体点(代码),数据库不是我建的,我只是在原来的系统上加点功能Top
6 楼zengsheng(潇湘夜雨)回复于 2004-08-04 10:51:46 得分 0
declare @vtime varchar(100)
declare @date smalldatetime
select @vtime=Date from yourtable --取得前一天的日期
set @date=Convert(smalldatetime,@vtime)
select * from youtable where @date<getdate()--取得前一天的数据
Top
7 楼zengsheng(潇湘夜雨)回复于 2004-08-04 10:54:06 得分 0
问题2
今天是3号,那么今天的前一天就是2号
那么今天的日前就是getdate()-day(1)Top




