SQL存储过程: 用两种方法判断性别

我是社区第2639位番薯,欢迎点我头像关注我哦~
本帖最后由 状元 于 2012-4-12 15:04 编辑

昨天有一朋友问我了这个问题,题目如下:创建一个名为CheckGender的存储过程,该过程接受一个名称作为其参数并检查名称的前缀为Ms. 还是Mr.如果前缀为Ms.则显示“你输入的是女性的名字”,如果前缀是Mr.则显示信息“你输入的是男性的姓名”,按照题目的要求自己设置信息执行上面的存储过程。
我读了两遍之后首先就想到了用两种方法一个是截取(substring),一个是模糊判断(like)。别的也有,不过我第一时间想到的就是这两个,下面我就把这两个判断分享给大家:
第一个方案:
  • create proc CheckGender
  • @sex varchar(80)
  • as
  • if substring(@sex,1,3)='MR.'
  • begin
  • print '你输入的是男性的名字'
  • return
  • end
  • if substring(@sex,1,3)='MS.'
  • begin
  • print '你输入的是女性的名字'
  • return
  • end
  • return
执行存储过程
  • exec CheckGender 'MR.chen'
输出的信息是 “你输入的是男性的姓名”
第二个方案:
  • create proc CheckGender
  • @sex varchar(80) output
  • as
  • if @sex like 'MR.%'
  • begin
  • print '你输入的是男性的名字'
  • end
  • if @sex like 'MS.%'
  • begin
  • print '你输入的是女性的名字'
  • end
执行存储过程
  • exec CheckGender 'MR.chen'
输出的信息是 “你输入的是男性的姓名”






发表于 2012-4-17 19:51:27
呵呵,好玩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 5784浏览人数
最后回复于:2012-4-17 19:51

返回顶部 返回列表