if(@bs=1) --查看入库统计begin
if( @zt='zz')
if(@banhao='')
select * from t1 a
where a.状态='在制' else
select * from t2 a
where a.状态='发版' and a.dd like '%'+@ddd+'%'
end
当@bs=1,@zt='zz',bahao=''的时候执行代码select * from t1 a
where a.状态='在制' 可当@bs=1,@zt='zz',bahao=!''的时候select * from t2 a
where a.状态='发版' and a.dd like '%'+@ddd+'%' 这段代码怎么执行不起来呢
解决方案 »
- Invalid object name 'week'?
- 用VB+SQL SERVER 2000+ADO练习编写网络版软件,那么在同一台电脑上如何模拟出3个客户端?
- 求一个复杂SQL的写法。
- 触发器的问题
- 身份证验证
- report 分组
- sql语句拼写 重新发帖,刚的表格弄乱了 。求强人回帖
- 这样将EXCEL里的数据转到SQL SERVER中?
- zqllyh(您问我也问总可以问出个所以然),pengdali(大力)和j9988(j9988) 请进,这900分特别酬谢《
- 请问我如何查看远程SQL Server的主机名,以及IP地址??
- SQL 求和问题
- WHERE MD001='' 的 ‘’里面内容运行后输入
select @bs=1,@zt='zz',@banhao='a'if(@bs=1) --查看入库统计
begin
if( @zt='zz')
begin
if(@banhao='')
begin
select 'a'
end
else
begin
select 'b'
end
end
end
else
select * from t2 a
where a.状态='发版' and a.dd like '%'+@ddd+'%'
print 'test-else'
end
BEGIN
IF ( @zt = 'zz' )
BEGIN --如果不加BEGIN...END,IF条件只针对紧挨着它的一条SQL语句
IF ( @banhao = '' )
SELECT * FROM t1 a WHERE a.状态 = '在制' --SQL1 ELSE
SELECT * FROM t2 a WHERE a.状态 = '发版' AND a.dd LIKE '%' + @ddd + '%' --SQL2
END
END
IF (1 = 1) --看来不加BEGIN...END也可以,这个IF会把下面的IF...ELSE当成一个SQL语句
IF (1 = 2)
SELECT '2=2'
ELSE
SELECT '?=?' --这句会被输出
ELSE
SELECT '1=1'
传1时自动加空格在后面:@banhao = '1 '
传空格时也是自动加空格:@banhao = ' '
declare @banhao nvarchar(50)
set @banhao='1'
select @banhao
'1'
declare @banhao1 nchar(50)
set @banhao1='1'
select @banhao1
'1 'nvarchar没有空格,nchar才有...