表T:
单号 varchar
数量 int
时间 datetime要求如下:当“时间”为NULL时,显示所有记录;当“时间”有数值时,对该数值进行模糊查询。请问应该怎么写呢?有人说用case,但是我刚学SQL,还不知道应该怎么写,请大家写一句给我参考一下,谢谢:-)
单号 varchar
数量 int
时间 datetime要求如下:当“时间”为NULL时,显示所有记录;当“时间”有数值时,对该数值进行模糊查询。请问应该怎么写呢?有人说用case,但是我刚学SQL,还不知道应该怎么写,请大家写一句给我参考一下,谢谢:-)
然后再连接数据库查询就是了
where (@datetime is null or datetime like ('%'+Convert(varchar(50),@datetime)+'%'))
(@datetime datetime)
AS SELECT ID, data, datetime,FROM dbo.T
where (@datetime is null or datetime like ('%'+@datetime+'%'))目前里面有两条数据:
ID data datetime
ID001 500 2007-05-05
ID002 500 2007-05-04现在不出错了,但是当我输入“05-04”时,无法查询到数据!这是怎么回事呢??
@datetime varchar
AS
SELECT ID, data, [datetime] FROM dbo.T
where (@datetime is null or [datetime] like ('%'+@datetime+'%'))