create proc test
@a datetime(10),@b datetime(10)
as
select * from 表
where 日期 between isnull(@a,CONVERT(CHAR(10),GETDATE(),102)) and isnull(@b,@a)
go
@a datetime(10),@b datetime(10)
as
select * from 表
where 日期 between isnull(@a,CONVERT(CHAR(10),GETDATE(),102)) and isnull(@b,@a)
go
解决方案 »
- sql server 2008 寻找一个可以登录,但权限不能太大的角色
- 求一SQL
- 求一简单SQL语句
- 求SQL语句
- 如何能够知道SQL SERVER中数据库中的记录是否被更改过,以及更改了多少条
- 急~~~~一个存储器的问题,不是很难,大家帮帮我,一定给分
- 在sql语句中,用什么函数使字符型的字段转变成数字型的字段。
- 在创建存储过程时出现:Error 605错误:急,急,急,急,急,急....
- 在做庫存管理時性能太低且老時超時,如何有更好的方法解決方案(進來看具本描述)?
- 相近SQL语句(记录数接近),在不同库中,查询速度一个快一个慢查,查询快的执行步骤返回的行数和实际行数不一致
- 用sql怎么写获取某数据库里的所有表名??
- 请说说这两个语句可能有何不同
if @b=1 exec getdate()
else set @b=@a
我改了一下create proc test
@a datetime=null,@b datetime=null
as
declare @a1 datetime
declare @b1 datetime
set @a1=isnull(@a,CONVERT(CHAR(10),GETDATE(),102))
set @b1=isnull(@b,@a)
select * from dat_j1fb
where xtrq between @a1 and @b1
go可是现在在执行不带参数的时候,还是有问题
请教高人了
@a datetime=null,@b datetime=null
as
set @a=isnull(@a,CONVERT(CHAR(10),GETDATE(),102))
set @b=isnull(@b,@a)
select * from dat_j1fb where xtrq between @a and @b
go自己解决了
谢谢楼上所有朋友
create table dat_j1fb(id int, xtrq datetime)
insert dat_j1fb select 1, '2005-8-8'
union all select 2, CONVERT(CHAR(10),GETDATE(),102)
go
create proc test
@a datetime=null,@b datetime=null
as
set @a=isnull(@a,CONVERT(CHAR(10),GETDATE(),102))
set @b=isnull(@b,@a)
--select a=@a, b=@b
select * from dat_j1fb
where xtrq between @a and @b
go
--运行
exec test
exec test @a='2005-8-8'
exec test @a='2005-8-7', @b='2005-8-10'
--清除
drop proc test
drop table dat_j1fb
...
else
...比如系统过程sp_helpdb