Sql Server中的谓词和平运动算符

来源:http://www.mnuet.com 作者:产品分类 人气:193 发布时间:2019-10-17
摘要:谓词和平运动算符合营使用是大家收获可观数据的顶级门路。   一、浅谈谓词 谓词的定义:二个运算结果为True、False或Unknown的逻辑表明式。它的采取范围有:where子句、Having子句、C

  

   谓词和平运动算符合营使用是大家收获可观数据的顶级门路。

 

一、浅谈谓词

  谓词的定义:二个运算结果为True、False或Unknown的逻辑表明式。它的采取范围有:where子句、Having子句、Check约束、联接查询的接入条件等。

身体力行1,用于执行数据完整性为多少表增多约束:在职工表中,仅允许工资大于0的职员和工人存款和储蓄在表中。当中的谓词是“薪酬大于0”(SQL表明式:薪给>0)。

示例2,用于查询筛选数据的基准:查询职员和工人表供给只回去发卖部的职工。此中谓词是“部门等于发卖部”(SQL表达式:部门='贩卖部')。

  

  谓词和平运动算符的互动利用:

    1.经过逻辑运算符连接三个谓词(逻辑表明式),如使用AND和O卡宴。

    2.谓词中行使比较运算符,如某些属性值大于或低于某指定个值。

  

  SQL Server中有一对重要字能够替代谓词语义的含义,也能够称之为SQL Server中的谓词。

  个中常用的富含:

    1.IN,在...之内,检查二个值是还是不是留存于钦点的集合内。     

    2.BETWEEN,检查二个值是或不是在钦定的间距范围内,范围包含三个边界值。

    3.LIKE,推断字符串是否满足钦定的格式,比如,查询名字姓氏为黄的职工(where name like '黄%')。

 

 

二、运算符

    比较运算符:

=(等于) 等于
>(大于) 大于
<(小于) 小于
>=(大于或等于) 大于或等于
<=(小于或等于) 小于或等于
<>(不等于) 不等于
!=(不等于) 不等于(非 ISO 标准)
!<(不小于) 不小于(非 ISO 标准)
!>(不大于) 不大于(非 ISO 标准)

   算术运算符:

+(加)
-(减)
*(乘)
/ (Divide)
%(取模) 返回一个除法运算的整数余数。 例如,12 % 5 = 2,这是因为 12 除以 5,余数为 2。

    

    逻辑运算符:

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

 

     在SQL Server中运算符分为典型和非规范,如 “!=” 可用 "<>" 取代,提议选择正式的运算符。

 

 

三、关于表明式中关系几个操作数的运算(入眼)

  当表达式涉及五个操作数使用算术运算符运算时,其运算结果的数据类型,依照两地点剖断。

 

    1.多个数据类型相同的数值实行演算,其结果数值的数据类型和三个操作数的数据类型同样:

    举例,多个整数(int)相除生成叁个大背头,4/2赶回整数类型2。

    依据那样的贰个结论,存在着贰个隐患,举个例子用5/2的时候正规结果因为2.5,然后sql Server再次回到整数类型2。当然在创设表的时候可以对此类型的列设为小数类型,那正是5.0/2.0=2.5,

    但就此情况非要运算,还要猎取精确的结果时。能够像四个操作数进行数据类型调换,即:CAST(5 as Numeric(2,1)) / CAST(2 as Numeric(2,1))。

    Numeric(2,1)数据类型的意思:数值一共占2位,个中型小型数占一位

    

  2.数值数据的精度和小数位:

    精度的情趣是数值中有微微位数,小数位指小数点精确到四位,小数位的位数包罗在精度里,故钦点数据类型的小数位必需低于小于内定的精度。

    图片 1

    3.七个数据类不相同的数值进行演算,其结果的数据类型为两操作数中数据类型优先级较高的数据类型:

      比方,5/2.0中,5的数据类型为INT,2.0的数据类型为NUME本田UR-VIC。根据SQL Server的数据类型优先级的条条框框。判别NUME大切诺基IC优先于INT,

      则,在运算从前会把操作数5隐式地转移为5.0,获得结果就为2.5(相符其定论)。

    

    4.SQL Server数据类型优先级依次:

      能够查看MSDN最新的“数据类型优先级依次”:

      在翻看后方可窥见三个规律,正是在一样特定的界定内,数据容积大的数据类型优先级大于数据体量小的数据类型。举个例子int和decimal后面一个的精度长度超越int,

      那么在运算时得以决断decimal优先级较高与int,运算结果为decimal数据类型。

 

 

 

四、运算符优先级

  当SQL中冒出复杂的表明式,那么相应就能在表达式中冒出三个运算符。那么那个时候,就要依赖SQL Server中的运算符优先级准绳,按顺序总结。   

    运算符的事先等第如下表中所示。 在非常的低等别的运算符此前先对较高档别的运算符举行求值。

级别 运算符
1 ()圆括号
2 *(乘)、/(除)、%(取模)
3 +(正)、-(负)、+(加)、+(串联)、-(减)、&(位与)、^(位异或)、|(位或)
4 =、>、<、>=、<=、<>、!=、!>、!<(比较运算符)
5 NOT
6 AND
7 ALL、ANY、BETWEEN、IN、LIKE、OR、SOME
8 =(赋值)

   由于运算符数量相当的大,死记硬背下来要花点武功。解析原理我们得以以项目来拟定顺序,记住个大概:(圆括号)>算术运算符>相比运算符>逻辑运算符。

   

  

本文由广东十一选五一定牛发布于产品分类,转载请注明出处:Sql Server中的谓词和平运动算符

关键词:

上一篇:MsSQL使用加密连接SSL/TLS

下一篇:没有了

最火资讯