• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
洞庭熊猫
无兄弟不篮球,无团队不项目!
博客园    首页    新随笔    联系   管理    订阅  订阅
SQL之case语句

       视图查询中怎样将原定于如性别sex 这样的字段,字段值为0,1这样的int类型值,查询时直接返回varchar 型的字符‘男’,‘女’以便于我们读取呢?

       有人会想到if …else…这样的语句,可是怎么加,都不知道加哪里,因为总是会出错。其实sql中有一个函数能解决这样的查询读取值的问题。那就是下面要介绍的  Case 函数了。

       Case  是计算条件列表并返回多个可能的结果表达式之一。

       Case  有两种格式:

  • 简单 Case 函数将某个表达式与一组简单表达式进行比较以确定结果。
  • Case  搜索函数计算一组布尔表达式以确定结果。
    两种格式均支持可选的 ELSE 参数。

   语法

     1. CASE input_expression WHEN when_expression THEN result_expression   [ ...n ]     [ELSE else_result_expression] END

    

     2. CASE WHEN Boolean_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ] END

   例子

    1.语法实例:

     SELECT Name,Age,CASE Gender WHEN 1 THEN '女' WHEN 2 THEN '男' ELSE '未填' END AS Genders FROM dbo.Contacter_Detail

    2. 语法实例:

    SELECT Name,Age,CASE WHEN Gender = 1 THEN '女' WHEN .Gender = 2  THEN '男' ELSE '未填' END AS Genders,

    FROM dbo.Contacter_Detail

     

    两者返回的结果是一样。很简单,一定记住后面表达式后面有个END结尾呢!

 

 

posted on 2009-12-24 17:18  木神易  阅读(552)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3