在工作中,有如下需求.通过case的嵌套解决了此问题!特此记录一下!(我用的是sql server 2005)

在查询的时候,有这样的一个需求

数据库内容如下:

iD  description

1     TableClassA.getName()

2     TableClassB.getName(),exception

3     TableClassC,getName()

4     TableClassD,getName().null

我想查询输入以下结果:

iD  description

1     TableClassA

2     TableClassB

3     TableClassC

4     TableClassD

及查询的结果是.号或,前的内容

SQL如下

select id,

case

when (CHARINDEX(',',description)>0) and (CHARINDEX('.',description)>0)

then --在这个做了判断,如同时包含.和,则判断.和,那个在前

case

when CHARINDEX(',',description)>CHARINDEX('.',description) then left(description,CHARINDEX('.',description)-1)

when CHARINDEX(',',description)

end

when (CHARINDEX(',',description)>0) then left(description,CHARINDEX(',',description)-1)

when (CHARINDEX('.',description)>0) then left(description,CHARINDEX('.',description)-1)

else description

end

as description

from  tablename

case例句java_case的一个用法--case 嵌套相关推荐

  1. hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)...

    前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个selec ...

  2. Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数

    Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一.概述 1.本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的 ...

  3. mysql日期函数之DATEDIFF() if()用法 case when用法

    mysql日期函数之DATEDIFF() if()用法 case when用法 背景: 用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库, 登录时校验用户是否需要修改密码, 一开始想的时 ...

  4. oracle case when及decode的用法

    case ... when 语句 1) CASE column_name WHEN value1 THEN resutl1,... [ ELSE result ] END select name , ...

  5. C语言:用switch,case函数,做一个自动售卖机

    #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char ...

  6. c语言中case的作用,C语言switch case 语句

    switch 语句根据控制表达式的值,可以把程序流跳转到多个语句中的一个执行: switch (表达式) 语句 括号里的表达式具有整数类型,并且这里的语句就是该 switch 主体,它包括了多个 ca ...

  7. C语言case字句有什么作用,switch case 语句的使用规则

    [规则1-21]按字母或数字顺序排列各条case语句. 如果所有的case语句没有明显的重要性差别,那就按A-B-C或1-2-3等顺序排列case 语句.这样做的话,你可以很容易的找到某条case语句 ...

  8. php 字符串转驼峰,zhouqq - PHP 蛇形命名法(snake case)和驼峰命名法(camel case) 相互转换...

    知道什么是蛇形命名法(snake case)和驼峰命名法(camel case)吗? snake case类似于这样: file_name. line_number. my_first_program ...

  9. c语言switch case语句范围,C语言switch case语句详解

    C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英 ...

最新文章

  1. 【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理
  2. Codeforces 100548F - Color (组合数+容斥)
  3. webapi+EF(增删改查)
  4. CSS Day04 css核心基础
  5. Java垃圾回收GC概览
  6. 【LOJ】 #2025. 「JLOI / SHOI2016」方
  7. from .import xxx什么意思
  8. ASP.net:URL重写实现IHttpHandler接口
  9. 【火灾检测】基于matlab GUI火灾检测【含Matlab源码 249期】
  10. matlab做瑞利信道仿真,瑞利信道怎么用 matlab做仿真
  11. PAT (Basic Level) 1045 柳婼、旭神两大思路分析【测试点】样例
  12. ssh 登录linux xsell 登录Linux 提示用户密钥登录怎么解决
  13. Ultra Compare 8 文本比较乱码问题 解决
  14. dellR230服务器如何进PE系统,戴尔服务器怎么进入u盘启动模式 选择oneshotbios
  15. 发送邮件,javax.mail 与 geronimo-javamail_1.4_spec 的jar包冲突
  16. 学计算机投影仪定义,一种计算机信息技术教学用投影仪的制作方法
  17. 关闭联想台式机键盘的 Fn 功能
  18. 【高分一号影像数据命名规则】
  19. NYOJ127 星际之门(一)【定理】
  20. 【二】、什么是抽象数据类型

热门文章

  1. Android WebView 与 JS 交互
  2. Windows 驱动发展基金会(九)内核函数
  3. static成员函数不能调用non-static成员函数
  4. IP与DSCP优先级
  5. [Android Training视频系列]2.4 Recreating an Activity
  6. Servlet跳转到jsp页面的几种方法
  7. GridView中的RadioButton列之间不能互斥
  8. HBase总结(十二)Java API 与HBase交互实例
  9. Java语言学习思维导图
  10. 数据结构与算法:归并排序