(刚学sql)sql语句中能加判断吗?比如IF什么的,可以的话格式是怎么样的?

lunasea0 2005-09-06 02:00:11
如题
...全文
601 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alisa 2005-09-06
  • 打赏
  • 举报
回复
ELSE (IF...ELSE)(摘自联机丛书)
IF Boolean_expression { sql_statement | statement_block }
[
ELSE
{ sql_statement | statement_block } ]

当至少一本书满足这些条件时,这个示例会给出价格在 $10 与 $20 之间的传统烹调书的列表。否则,SQL Server 会给出一条信息,说明没有书满足这个条件,并生成价格低于 $10 的传统烹调书的列表。

USE pubs
GO
DECLARE @msg varchar(255)
IF (SELECT COUNT(price)
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20) > 0

BEGIN
SET NOCOUNT ON
SET @msg = 'There are several books that are a good value between $10 and $20. These books are: '
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20
END
ELSE
BEGIN
SET NOCOUNT ON
SET @msg = 'There are no books between $10 and $20. You might consider the following books that are under $10.'
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price < 10
END



还有一个IF...ELSE,你自己查一下
zhangyang555 2005-09-06
  • 打赏
  • 举报
回复
可以,例如:

if @a>@b and @c>@b or not(@d>@b or @c<>1)
begin
...
end
这里用到很多运算符,都能在sql中使用
lunasea0 2005-09-06
  • 打赏
  • 举报
回复
需要连续判断是要用and连接吗?
zlp321002 2005-09-06
  • 打赏
  • 举报
回复
--类似这样
if exists(select 1 from tempdb..sysobjects where id=object_id('tempdb..#TMP1'))
drop table #TMP1
go
CREATE TABLE #TMP1 (CALLIDX BIGINT,AIIDX BIGINT)
select * from #TMP1

--或者
if @a>@b
begin
...
end
else
begin
....
end

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧