sql2000中的一些问题 大家帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:02:49
如图 数据库中的一个表的时间列 他的时间日期在一起 我要是只想按照日期搜索需要的数据 用什么语句 还有我要是想把搜索出来的数据的日期批量改成我想要的日期该用什么语句 各位大虾帮忙!!!!

select * from 表名 where xfsj >'开始时间' and xfsj <'结束时间'

update 表名 set xfsj ='我想要的日期' where xfsj >'开始时间' and xfsj <'结束时间'

需要用到一些datetime函数。
以yyyy-mm-dd日期为例。
1\convert
select * from 表 where convert(char(8),时间字段,112)='yyyymmdd'
2\datediff
select * from 表 where datediff(day,时间字段,'yyyy-mm-dd')=0
或者
select * from 表 where datediff(day,时间字段,'yyyymmdd')=0
3\dateadd
select * from 表 where dateadd(day,0,datediff(day,0,getdate()))='yyyy-mm-dd'

修改一般都要用到dateadd函数。
这几个函数的用法就不详细说了,SQL的帮助里有。

select * from 表 where convert(char(8),xfsj,110)=convert(char(8),cast('要查询的时间' as datetime),110)

如果要批量修改,就改一下前面的
update 表 set xfsj='想要的时间'
where convert(char(8),xfsj,110)=convert(char(8),cast('要查询的时间' as datetime),110)

c