运算符是一种符号,用来指定在一个或多个表达式中执行的操作,SQL Server 2008的运算符有:算术运算符、位运算符、比较运算符、逻辑运算符、字符串连接运算符、赋值运算符、一元运算符等。
------------------------算术运算符
算术运算符在两个表达式间执行数学运算,这两个表达式可以是任何数字数据类型。
算术运算符有:+(加)、-(减)、*(乘)、/(除)和%(求模)五种运算。+(加)和–(减)运算符也可用于对datetime及smalldatetime值进行算术运算。
------------------------位运算符
位运算符用于对两个表达式进行的位操作,这两个表达式可为整型或与整型兼容的数据类型
例如,对两个变量进行按位位运算
DECLARE @a int ,@b int
SET @a=7
SET @b=4
SELECT @a&@b AS 'a&b',@a|@b AS 'a|b',@a^@b AS 'a^b'
------------------------比较运算符
比较运算符用于测试两个表达式的值是否相同,它的运算结果返回TRUE、FALSE或 UNKNOWN之一
例如,查询成绩表中在90分以上的成绩记录
USE stsc
SELECT *
FROM score
WHERE grade>=90 <span style="font-family:Microsoft YaHei;font-size:14px;">
</span>
------------------------逻辑运算符
逻辑运算符用于对某个条件进行测试,运算结果为 TRUE或 FALSE
使用LIKE运算符进行模式匹配的时候,用到的通配符如下:
查询出生日期在1992年且成绩在80-95分以之间的学生情况。
USE stsc
SELECT a.stno, a.stname, a.stbirthday, b.cno, b.grade
from student a, score b
where a.stno=b.stno and a.stbirthday like '1992%' and b.grade between 80 and 95
------------------------字符串连接运算符
字符串连接运算符通过运算符“ +”实现两个或多个字符串的连接运算例如,多个字符串连接
SELECT ('ab'+'cdefg'+'hijk') AS '字符串连接'
------------------------赋值运算符
在给局部变量赋值的 SET和 SELECT语句中使用的“=”运算符,称为赋值运算符。
赋值运算符用于将表达式的值赋予另外一个变量,也可以使用赋值运算符在列标题和为列定义值的表达式之间建立关系
------------------------一元运算符
一元运算符指只有一个操作数的运送符,包含+(正)、-(负)和~(按位取反)
例如:按位取反运算符
设a的值为9(1001),则~a的值为6(0110)
------------------------运算符优先级
当一个复杂的表达式有多个运算符时,运算符优先级决定执行运算的先后次序,执行的顺序会影响所得到的运算结果。
在一个表达式中按先高(优先级数字小)后低(优先级数字大)的顺序进行运算。