从他的楼梯到T-SQL DML,Gregory Larsen涵盖了更多的高级方面的T-SQL语言,如子查询. 有时您需要编写一个可以根据另一个表达式的评估返回不同的TSQL表达式的单个TSQL语句.当您需要这种功能时,您可以使用CASE表达式或IIF函数来满足此要求.在本文中,我将回顾CASE和IIF语法,并向您展示CASE表达式和IIF函数的示例. 了解CASE表达Transact-SQL CASE表达式允许您在TSQL代码中放置条件逻辑.此条件逻辑为您提供了一种在TSQL语句中放置不同代码…
t-sql的楼梯:超越基本级别6:使用案例表达式和IIF函数 源自:Stairway to T-SQL: Beyond The Basics Level 6: Using the CASE Expression and IIF Functionhttp://www.sqlservercentral.com/articles/Stairway+Series/108723/ 作者 Gregory Larsen,2016/4/20(第一次出版:2014/04/09) 翻译:刘琼滨 谢雪妮 许雅莉 赖慧…
6-1 各种各样的函数 ● 函数的种类很多,无需全都记住,只需要记住具有代表性的函数就可以了,其他的可以在使用时再进行查询. ■函数的种类所谓函数,就是输入某一值得到相应输出结果的功能,输入值称为参数(parameter),输出值称为返回值.虽然数量众多,但常用函数只有 30 ~ 50 个.参考文档是 DBMS 手册的一部分. ■算术函数 为了学习算术函数,我们首先根据代码清单 6-1 创建一张示例用表(SampleMath).由于 PostgreSQL 中的 ROUND函数只能使用 NUMER…
SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2.函数的种类: (1)算术函数 - 数值计算 (2)字符串函数 - 字符串操作 (3)日期函数 - 日期操作 (4)转换函数 - 转换数据类型 (5)聚合函数 - 数据聚合 3.算术函数(加.减.乘.除):+.-.*./ [备注]数据类型 NUMBERIC(全体位数,小数位数)可以指定数值的大小. C…
前言 历史考试选择题:黄花岗起义第一枪谁开的? A宋教仁 B孙中山 C黄兴 D徐锡麟,考生选C. 又看第二题:黄花岗起义第二枪谁开的? 考生傻了,就选了个B. 接着看第三题:黄花岗起义中,第三枪谁开的? 考生疯了,胡乱选了A. 考试出来就去找出卷老师.老师拿出课本说:黄兴连开三枪,揭开了黄花岗起义的序幕.考生:...... CASE表达式 之概念 相信大家都用过CASE表达式,尤其是做一些统计功能的时候,用的特别多,可真要说什么是 CASE表达式,我估计还真没几个人能清楚的表述出来.CASE表达…
6 函数.谓词.CASE表达式 6-1 各种各样的函数 /* 所谓函数,就是输入某一值得到相应输出结果的功能.输入值称为参数(parameter),输出值称为返回值. 函数大致可以分为以下几种 : 算术函数 :用来进行数值计算的函数 字符串函数 :用来进行字符串操作的函数 日期函数 : 用来进行日期操作的函数 转换函数 :用来转换数据类型和值的函数 聚合函数 :用来进行数据聚合的函数 */ 算术函数 -- DDL :创建表 CREATE TABLE sampleMath ( m NUMERIC…
用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来思考一下 SQL 是如何被执行的. Oracle 中的 SQL 是如何执行的 我们先来看下 SQL 在 Oracle 中的执行过程: 从上面这张图中可以看出,SQL 语句在 Oracle 中经历了以下的几个步骤. 语法检查:检查 SQL 拼写是否正确,如果不正确,Oracle 会报语法错误. 语义检…
本篇文章是SQL Server安全系列的第十篇,详细内容请参考原文. 不像一些其他industrial-strength数据库服务,SQL Server缺乏一个内置保护个别数据记录的机制,称为行级安全.这一篇将探讨为什么你可能想使用这种低层次粒度的数据访问以及如何实现行级安全.行级安全在发布SQL Server 2000和SQL Server 2005之间,微软对于安全变得非常严肃.比尔盖茨在2002年初所写的Trustworthy Computing备忘录,让SQL Server 2005接受…
本篇文章是SQL Server安全系列的第十篇,详细内容请参考原文. 不像一些其他industrial-strength数据库服务,SQL Server缺乏一个内置保护个别数据记录的机制,称为行级安全.这一篇将探讨为什么你可能想使用这种低层次粒度的数据访问以及如何实现行级安全.行级安全在发布SQL Server 2000和SQL Server 2005之间,微软对于安全变得非常严肃.比尔盖茨在2002年初所写的Trustworthy Computing备忘录,让SQL Server 2005接受…
书接上文<SQL夯实基础(八):联接运算符算法归类>. 这里先解释下EXPLAIN 结果中,第一行出现的表就是驱动表(Important!). 对驱动表可以直接排序,对非驱动表(的字段排序)需要对循环查询的合并结果(临时表)进行排序(Important!) 一.联接过程介绍 为了后面一些测试案例,我们事先创建了两张表,表数据如下: )); )); , , , 'c'); , , , , , 'f'); 联接操作的本质就是把各个联接表中的记录都取出来依次匹配的组合加入结果集并返回给用户.如果没有…