exists关键词和case表达式】的更多相关文章

首先声明一下,exist和case没有必然联系,这里只是为了一起整理个笔记. EXIST谓词 如果存在对应的记录,返回TRUE.否则,返回FALSE.*实际使用中,即使不适用exist,基本也可以使用in或者not in来代替. 示例: select shohin_mei ,hanbai_tanka from Shohin as S where exists ( select * from TenpoShohin as TS where TS.tenpo_id = '000C' and TS.s…
函数 算术函数 1. 四则运算: +.-.*./  2. ABS:求绝对值, ABS(数值) 3. MOD: 求余,MOD(被除数,除数) 4. ROUND:四舍五入,ROUND(对象数值,保留小数的位数) 字符串函数 1. 字符串拼接: ||, str1 || str2 || str3 || - || strn  AS str_all 2. 字符串长度:LENGTH,LENGTH(str1) AS len_str1 3. 小写转换:LOWER,LOWER(str1) AS low_str 4.…
谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即true , false,unknown,所以常常用在用来筛选记录的where子句 或者 having子句中. 谓词 与 函数的最大区别 : 谓词返回值是真值 ,函数 返回值是数字,字符串,日期等值. 常用的谓词: 1.like  ——字符串的部分一致查询 前方一致: select * from tb_stude…
函数是 SQL 中的一部分.在 SQL 中,除了普通的函数之外,还有特殊的函数(谓词和 CASE 表达式)用于各种情况. 函数 函数的种类有: 算术函数 字符串函数 日期函数 转换函数(用于转换数据类型) 聚合函数 算术函数 例如; MOD:求余 ABS:求绝对值 ROUND:四舍五入 字符串函数 例如: 拼接: || 函数 求字符串长度: LENGTH 大小写转换:LOWER ,UPPER 替换字符串:REPLACE(对象字符串,对象字符串中要替换的字符串,替换成的字符串) 日期函数 例如:…
6 函数.谓词.CASE表达式 6-1 各种各样的函数 /* 所谓函数,就是输入某一值得到相应输出结果的功能.输入值称为参数(parameter),输出值称为返回值. 函数大致可以分为以下几种 : 算术函数 :用来进行数值计算的函数 字符串函数 :用来进行字符串操作的函数 日期函数 : 用来进行日期操作的函数 转换函数 :用来转换数据类型和值的函数 聚合函数 :用来进行数据聚合的函数 */ 算术函数 -- DDL :创建表 CREATE TABLE sampleMath ( m NUMERIC…
★CASE表达式是一个标量表达式,它基于条件逻辑来返回一个值.因为CASE是一个标量表达式,所以它可以应用在SELECT.WHERE.HAVING以及ORDER BY子句中. CASE表达式有两种格式:简单表达式和搜索表达式. 利用case做简单的表达式: CASE简单表达式将一个值(或一个标量表达式)与一组可能的取值进行比较,并返回第一个匹配的结果.如果列表中没有值等于测试值,CASE表达式就返回其ELSE子句(如果存在)中列出的值.如果CASE表达式中没有ELSE子句,则默认将其视为ELSE…
我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了. 例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息. SQL代码如下: -- 设置数据库上下文 USE TSQLFundamentals2008; GO SELECT productid,productname,categoryid, CASE categoryid THEN 'Beverages' THEN 'Co…
日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 select * from sales.orders 2 where orderdate>'20080301' 结果如图所示: (2)cast进行转化.例如,可以讲‘20080301’转化为时间类型.其结果跟上图一样. 1 select * from sales.orders 2 where order…
Case表达式可以用在 Select,update ,delete ,set,in,where ,order by,having子句之后, 只是case表达式不能控制sql程序的流程,只能作为基于列的逻辑使用 SELECT TOP CASE a.Id WHEN THEN '骨性关节炎1' WHEN THEN '骨性关节炎2' WHEN THEN '骨性关节炎3' ELSE '不知道' END AS MyName FROM [dbo].[Disease] a ORDER BY a.Id 也可以这样…
原文:使用CASE表达式替代SQL Server中的动态SQL 翻译自: http://www.mssqltips.com/sqlservertip/1455/using-the-case-expression-instead-of-dynamic-sql-in-sql-server/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=2012620 问题: 在决定IF/ELS…