首页 理论教育 SQLServer数据库运算符与表达式

SQLServer数据库运算符与表达式

时间:2023-10-21 理论教育 版权反馈
【摘要】:运算符是表示数据之间运算方式的运算符号,用来指定在一个或多个表达式中执行的操作。表2-8 字符运算符例如:5.范围表达式范围表达式是由变量、常量、函数和范围操作符组成的,用于取值范围的运算。表达式比较运算符ANY表达式比较运算符ALL说明:只要有一个比较成立,ANY的结果为真。2)Notisnull表示判断表达式的值是否不等于空值,不为空时为真,否则为假。

SQLServer数据库运算符与表达式

运算符是表示数据之间运算方式的运算符号,用来指定在一个或多个表达式中执行的操作。一般根据处理数据类型不同可分为算术运算符、关系运算符、逻辑类运算符、范围运算符、多值列表运算符、用于子查询的运算符、空值运算符、字符模糊匹配运算符、字符串连接运算符等。表达式是由常量、变量、函数、操作符及圆括号组成的算式。表达式中的操作对象必须具有相同的数据类型,如果表达式中有不同类型的操作对象,则必须将它们转换成同种数据类型。

1.算术表达式

算术表达式是由数值型变量、常量、函数和数值操作符组成的。用于对数值型数据进行常规的算术运算,如表2-5所示。

表2-5 数值运算符

978-7-111-33494-1-Chapter02-19.jpg

例如:

978-7-111-33494-1-Chapter02-20.jpg

2.关系表达式

关系表达式用于数值、字符、日期型数据的比较运算。关系表达式的运算优先级相同,如表2-6所示。

表2-6 关系操作符

978-7-111-33494-1-Chapter02-21.jpg

例如:

978-7-111-33494-1-Chapter02-22.jpg

978-7-111-33494-1-Chapter02-23.jpg

3.逻辑表达式

逻辑表达式是由逻辑型变量、常量、函数和字符运算符组成的。用来对逻辑型数据进行各种逻辑运算,形成各种简单的逻辑结果,如表2-7所示。

表2-7 逻辑操作符

978-7-111-33494-1-Chapter02-24.jpg

例如:

978-7-111-33494-1-Chapter02-25.jpg

4.字符表达式

字符表达式是由字符型变量、常量、函数和字符操作符组成的。用于字符串的连接或者比较,如表2-8所示。

表2-8 字符运算符

978-7-111-33494-1-Chapter02-26.jpg

例如:

978-7-111-33494-1-Chapter02-27.jpg

5.范围表达式

范围表达式是由变量、常量、函数和范围操作符组成的,用于取值范围的运算。

范围运算符:[not]between...and

范围表达式:[not]between起始值and终止值

例如:

978-7-111-33494-1-Chapter02-28.jpg

978-7-111-33494-1-Chapter02-29.jpg

注意:between所选取的数据范围包括边界值,而notbetween则不包括边界值。

6.多值列表表达式(www.xing528.com)

多值列表运算符:[not]...in(...)

多值列表表达式:[not]表达式in(值1,值2,…,值n)

说明:

1)in(…)用于判断表达式的值是否等于所给出的值之一,只要与其中一个值相等条件就为真,全部不等为假。

2)not…in(…)表示判断表达式的值是否全部不等于所给出的值,所有的值一个也不相等条件为真,只要有一个相等为假。

7.用于子查询的表达式

1)列表比较运算符:ANY|ALL表达式格式如下。

表达式比较运算符ANY(子查询的一列值)

表达式比较运算符ALL(子查询的一列值)

说明:只要有一个比较成立,ANY的结果为真。只有全部比较都成立,ALL的结果为真。

2)记录存在逻辑运算符:[not]exists

用于检查子查询返回的结果集中是否包含有记录,若包含,则exists为真,否则为假。

8.空值

空值就是没有任何值。对数值,它非零;对字符,它非空格串;对逻辑,它非真非假。在应用中,空值的概念十分有意义。年龄不知道时,不能填零;姓名不知道时,不能填空字串等。由此可见空值是一个重要的概念。

内存变量、数组变量、字段变量均可以赋以空值。变量赋以空值后,其类型不变。也就是说空值不是一个数据类型。

空值运算符:[not]isnull

空值表达式:表达式[not]isnull

说明:

1)isnull表示判断表达式的值是否等于空值,为空时条件为真,否则为假。

2)Notisnull表示判断表达式的值是否不等于空值,不为空时为真,否则为假。

9.字符模糊匹配

搜索数据库中的数据时,可以使用SQL通配符,SQL通配符可以替代一个或多个字符。SQL通配符必须与LIKE运算符一起使用。

通配符运算符:[not]like通配符

通配符种类及使用如下。

1)_:下划线,代表单个任意字符该符号只能匹配一个字符。“_”可以放在查询条件的任意位置,且只能代表一个字符,一个汉字只使用一个“_”表示。

2)%:代表0个或多个字符的任意字符串。能匹配0个或更多字符的任意长度的字符串。在SQL语句中可以在查询条件的任意位置放置一个“%”来代表一个任意长度的字符串。在查询条件时也可以放置两个“%”进行查询,但在查询条件中最好不要连续出现两个“%”。

3)[]:代表指定字符中的任何一个单字符。在模式查询中可以利用“[]”来实现查询一定范围的数据;“[]”用于指定一定范围内的任何单个字符,包括两端数据。

4)^:代表不在指定字符中的任何一个单字符。“^”用来查询不属于指定范围([a-f])或集合([abcdef])的任何单个字符。

转义字符:在where子句后用escape子句指定一个转义字符。

【例2-5】 select*fromalluserwhereusernamelikeM[^abc]%

表示从表alluser中查询用户名以M开头,且第二个字符不是a,b,c的数据。

【例2-6】

978-7-111-33494-1-Chapter02-30.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈