zoukankan      html  css  js  c++  java
  • SQL之 case when then

     视图查询中怎样将原定于如性别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结尾呢!

  • 相关阅读:
    intel Skylake平台安装WIN7
    复杂表单
    sqlalchemy的cascades
    新版mysql 5.7的group_by非常不和谐
    sqlalchemy使用tip
    sql分组数据去重
    flask-sqlalchemy relationship
    老笔记本装xubuntu+win7
    [leetcode]Reorder List
    [leetcode]Insertion Sort List
  • 原文地址:https://www.cnblogs.com/lizhao/p/1990482.html
Copyright © 2011-2022 走看看