Sql Server系列:运算符和表达式
运算符的一些符号,他们能够用于执行算术运算、字符串连接、赋值以及在字段、常量和变量之间进行比较。在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系列:运算符和表达式的更多相关文章
- SQL Server 系列文章快速导航(SWF版)
一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软S ...
- SQL Server系列文章目录
SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录
- sql server编写简洁四则运算表达式脚本实现计算批次功能(C#等其它编程语言也能直接用此通用表达式)
问题: 在数据库编程开发中,有时会遇到数据量比较大的情况,如果直接大批量进行添加数据.修改数据.删除数据,就会是比较大的事务,事务日志也比较大,耗时久的话会对正常操作造成一定的阻塞.虽不至于达到删库跑 ...
- SQL Server系列目录
一.SQL Server基础部分 1 数据库概念及规范化设计 1.1 数据库物理模式设计 1.2 Microsoft SQL Server Management Studio模板资源管理器 2 数据 ...
- Sql Server系列:嵌套查询
嵌套查询是指一个查询语句嵌套在另一个查询语句内部的查询.嵌套查询也就子查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或多个表.子查询中可以使用比较运 ...
- Sql Server系列:子查询
1 子查询概念 子查询是嵌套在另一个查询中的普通T-SQL查询.在有一个SELECT语句通过使用小括号创建子查询,作为另一个查询的部分数据或条件的基础. 子查询通常用于满足以下某个需求: ◊ 将一个查 ...
- SQL Server系列
这里整理了我学习SQL Server的全部文章,包括从基础到高级,做一个目录,方便以后查找. SQL Server数据类型 SQL Server中开发常用的数据类型 单表查询和多表查询 一个单表查询的 ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- Sql Server系列:Transact-SQL变量
变量是Transact-SQL中由用户定义.可对其赋值并参与运算的一个实体,分为全局变量和局部变量.其中全局变量由系统自定义并维护,全局变量名称前面有@@字符,任何程序均可随时调用.局部变量名称前面有 ...
随机推荐
- __autoload()尝试加载未定义的类
在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可.PHP5 以后提供了这样一个方法可以自动完成加载所需的类文件. 参见官网的例子: ./myClass. ...
- WP8解析JSON格式(使用Newtonsoft.Json包)
DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...
- C语言_第五章__实践(密码转换)
1. 要求 输入China 输出 Glmre #include <stdio.h> #include <stdlib.h> int main() { char c ; c ...
- PC端一些非经典兼容性问题小札
IE10默认在input框中输入内容后会显示一个‘X’按钮,方便删除输入的所有内容. 在password输入框显示一个眼睛的按钮,去掉叉叉和眼睛的方法如下: ::-ms-clear { display ...
- Flask 重新认识
总是觉的学习东西有点猴子掰玉米的感觉.今天就重新再掰一次吧. Installation: 安装之前建议先安装virtualenv,这个东东是帮助你在多个python版本之间保持同步,不至于python ...
- 部署Thomas Kyte 的 runstats 工具
runstats是由Thomas Kyte开发的脚本,该脚本能对做同一件事的两个不同方法进行比较,得出孰优孰劣的结果. 1.授权 SQL> grant select on v_$statname ...
- Unity3d使用高通Vuforia发布IOS工程不支持64位的一些解决办法
1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Setting ...
- Map Network Driver
K: \\10.11.80.5\deptfiling-pubgz$ O: \\10.11.80.5\deptfiling-itdgz$
- C++大会感悟
写在前面: 我是一名学生,在北邮读研,也是跨专业学的计算机,个人对服务器端编程感兴趣,平时主用c/c++,所以逮到这次机会就参加了这次大会. 先附几张合影: 正文: 这次参加c++大会也算是我最认真的 ...
- ASP.NET Core Docker部署
前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序. ...