T-SQL的if...else使用

  • 作者:村长
  • 发布时间:2020-04-18 11:00
  • 分类:SQL Server
  • 标签: 热门推荐

流程控制

begin... end 其实就是这个: { }
/*
	if()
	begin -{
		//代码块
	end -}
*/


实现功能:输入[某客户的姓名] => 条件,显示该客户的【年龄】 =》 查询字段,如果年龄小于 18,则会显示该客户“还未成年”的信息,否则会显示该客户“已经成年”。

-- 先声明变量
declare @name nvarchar(30),@year int
-- 赋值
set @name = '雷亚波'
-- 年龄的差值 差值的意思:生日作为起始时间,结束时间是当前时间 datediff(时间格式,起始时间,结束时间)
-- GETDATE() 获取的是当前时间
select @year = (select datediff(YYYY,birthday,GETDATE()) from customer where customerName = @name)

-- 下面的if逻辑实现
if @year < 18
begin
	-- 输出,用的是print 
	print '还未成年'
end
else
	--单行时,不用begin..end也可以
	print '已成年'+convert(nvarchar(20),@year) -- 字符串 + 数字变成字符串,让它拼接


实现功能2:查询商品标题名中含有[“KTV”字样的商品] => 条件,如果有则【显示该商品标题和团购价】,否则显示“检索商品不存在”。

-- 声明变量
declare @keyword nvarchar(30)
-- 赋值
set @keyword = 'KTV'

-- 逻辑判断是否存在(exists)结果 
if exists(select * from business.product where title like '%'+@keyword+'%')
begin
	select title 商品标题,currentPrice 团购价 from business.product where title like '%'+@keyword+'%'
end
else
begin
	-- 否则部分
	print '检索商品不存在'
end


  • php程序员面试笔试宝典
琉忆编程库
加载中...
TOP