运算符的一些符号,他们能够用于执行算术运算、字符串连接、赋值以及在字段、常量和变量之间进行比较。在SQL Server 2012中,运算符主要由以下6大类:算术运算符、赋值运算符、比较运算符、逻辑运算符、连接运算符以及按位运算符。

1. 运算符

1.1> 算术运算符

  算术运算符可以在两个表达式上执行数学运算,这两个表达式可以是任何数值数据类型。

运算符 作用
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算,返回商
% 求余运算,返回余数

1.2> 比较运算符

  比较运算符用来比较两个表达式的大小,表达式可以是字符、数字或日期数据,其比较结果是Boolean值。

运算符 含义
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于

1.3> 逻辑运算符

  逻辑运算符可以把多个逻辑表达式连接起来测试,以获得其真实情况。返回带有TRUE、FALSE或UNKNOWN的Boolean数据类型。

运算符 含义
ALL 如果一组的比较都为TRUE,则返回TRUE。
AND 如果两个布尔表达式都为TRUE,则返回TRUE。
ANY 如果一组的比较中任何一个为TRUE,则返回TRUE。
>BETWEEN 如果操作数在某个范围之内,则返回TRUE。
EXISTS 如果子查询包含一些行,则返回TRUE。
IN 如果操作数等于表达式列表中的一个,则返回TRUE。
LIKE 如果操作数与一种模式相匹配,则返回TRUE。
NOT 对任何其他布尔运算符的值取反。
OR 如果两个布尔表达式中的一个为TRUE,则返回TRUE。
SOME 如果在一组比较中,有些为TRUE,则返回TRUE。

1.4> 连接运算符

  加号(+)是字符串串联运算符,可以将两个或两个以上字符串合并成一个字符串。

1.5> 按位运算符

  按位运算符在两个表达式之间执行位操作,这两个表达式可以为整数数据类型中的任何数据类型。

运算符 含义
& 位与
| 位或
^ 位异或
~ 数字非

2. 表达式

  根据连接表达式的运算符进行分类,可以将表达式分为算术表达式、比较表达式、逻辑表达式、按位表达式和混合表达式等;根据表达式的作用进行分类,可以将表达式分为字段名表达式、目标表达式和条件表达式。

2.1> 字段名表达式

  字段名表达式可以是单一的字段名或几个字段的组合,还可以是由字段、作用于字段的集合函数和常量的任意算术组成的运算表达式。主要包括数值表达式、字符表达式、逻辑表达式和日期表达式。

2.2> 目标表达式

  目标表达式有4中构成方式:

  (1)*:表示选择相应基表和视图的所有字段。

  (2)<表名>.:表示选择指定的基表和视图的所有字段。

  (3)集函数():表示在相应的表中按集函数操作和运算。

  (4)[<表名>.]字段名表达式[,[<表名>.]<字段名表达式>]...:表示按字段名表达式在多个指定的表中选择。

2.3> 条件表达式

  常用的条件表达式有以下6种:

  (1)比较大小——应用比较运算符构成表达式。

  (2)指定范围——(NOT)BETWEEN...AND...运算符查找字段值在或者不在指定范围内的记录。BETWEEN后面指定范围的最小值,AND指定范围的最大值。

  (3)集合(NOT)IN——查询字段值属于或不属于指定集合内的记录。

  (4)字符匹配——(NOT)LIKE查找字段值满足匹配字符串中指定的匹配条件的记录。匹配字符串可以是一个完整的字符串,也可以包含通配符“_”和“%”,“_”表示任意单个字符,"%"表示任意长度的字符串。

  (5)空值IS(NOT) NULL——查找字段值(不)为空的记录。

  (6)多重条件AND和OR。AND表达式用来查找字段值同时满足AND相连接的查询条件的记录。OR表达式用来查询字段值满足OR连接的查询条件中的任意一个的记录。AND运算符的优先级高于OR运算符。

Sql Server系列:运算符和表达式的更多相关文章

  1. SQL Server 系列文章快速导航(SWF版)

    一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软S ...

  2. SQL Server系列文章目录

    SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录

  3. sql server编写简洁四则运算表达式脚本实现计算批次功能(C#等其它编程语言也能直接用此通用表达式)

    问题: 在数据库编程开发中,有时会遇到数据量比较大的情况,如果直接大批量进行添加数据.修改数据.删除数据,就会是比较大的事务,事务日志也比较大,耗时久的话会对正常操作造成一定的阻塞.虽不至于达到删库跑 ...

  4. SQL Server系列目录

    一.SQL Server基础部分 1  数据库概念及规范化设计 1.1 数据库物理模式设计 1.2 Microsoft SQL Server Management Studio模板资源管理器 2 数据 ...

  5. Sql Server系列:嵌套查询

    嵌套查询是指一个查询语句嵌套在另一个查询语句内部的查询.嵌套查询也就子查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或多个表.子查询中可以使用比较运 ...

  6. Sql Server系列:子查询

    1 子查询概念 子查询是嵌套在另一个查询中的普通T-SQL查询.在有一个SELECT语句通过使用小括号创建子查询,作为另一个查询的部分数据或条件的基础. 子查询通常用于满足以下某个需求: ◊ 将一个查 ...

  7. SQL Server系列

    这里整理了我学习SQL Server的全部文章,包括从基础到高级,做一个目录,方便以后查找. SQL Server数据类型 SQL Server中开发常用的数据类型 单表查询和多表查询 一个单表查询的 ...

  8. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  9. Sql Server系列:Transact-SQL变量

    变量是Transact-SQL中由用户定义.可对其赋值并参与运算的一个实体,分为全局变量和局部变量.其中全局变量由系统自定义并维护,全局变量名称前面有@@字符,任何程序均可随时调用.局部变量名称前面有 ...

随机推荐

  1. [XAML]类似WPF绑定的Binding的读取方法

    在WPF的XAML里,依赖属性可以使用基于BindingBase之类的MarkupExtensin 读取XAML时,会自动的把该BindingBase转换为BindingExpressionBase ...

  2. Shader实例:溶解效果(Dissolve)

    效果: 图左:一道金光闪过,瞬间灰飞烟灭 图右:燃烧效果,先过渡到黄色,然后渐渐过渡到黑色,最后消失殆尽. 这是游戏中常见的效果,各位可以想想自己玩过的游戏. 手头正在玩的,梦三国手游,死亡的时候就是 ...

  3. 一些牛逼哄哄的javascript面试题

    今天我们来对这5个题目详细分析一下,希望对大家有所帮助. 注: 问题来自大名鼎鼎的前端架构师Baranovskiy的帖子<So, you think you know JavaScript?&g ...

  4. 用百度webuploader分片上传大文件

    一般在做文件上传的时候,都是通过客户端把要上传的文件上传到服务器,此时上传的文件都在服务器内存,如果上传的是视频等大文件,那么服务器内存就很紧张,而且一般我们都是用flash或者html5做异步上传, ...

  5. 怎么将java web 项目导入idea 中

    1.将 java web 项目导 入idea 中, 显示 然后进行 Configure 配置. 2. 点击 open module settings. 3. 4. 选择jar包. 5. 6. 配置to ...

  6. Hibernate4 实例

    一.hibernate需要的配置文件 首先hibernate中有两种xml文件. .cfg,xml文件负责配置连接数据库的信息.指定映射类.指定hbm映射文件. .hbm.xml文件负责配置持久化类和 ...

  7. 整理一自己不怎么熟悉的HTML标签(会陆续更新)

    ---恢复内容开始--- 小白刚开始接触HTML和CSS,在学习过程中发现又遇到很多不认识的标签,于是就想把他们都记录下来,一来可加深记忆,二来也方便以后查阅,当然如果能帮助到你们也是很开心的啦! 1 ...

  8. ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)

    前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程 ...

  9. mysql 内连接、左连接、右连接

    记录备忘下,初始数据如下: DROP TABLE IF EXISTS t_demo_product; CREATE TABLE IF NOT EXISTS t_demo_product( proid ...

  10. 剑指Offer面试题:4.从尾到头打印链表

    一.题目:从尾到头打印链表 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 到解决这个问题肯定要遍历链表.遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头.也就是说第一个遍历到的结 ...