运算符是一种符号,用来指定在一个或多个表达式中执行的操作,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'
例如,查询成绩表中在90分以上的成绩记录
USE stsc SELECT * FROM score WHERE grade>=90 <span style="font-family:Microsoft YaHei;font-size:14px;"> </span>
使用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 '字符串连接'------------------------赋值运算符
一元运算符指只有一个操作数的运送符,包含+(正)、-(负)和~(按位取反)
例如:按位取反运算符
设a的值为9(1001),则~a的值为6(0110)
当一个复杂的表达式有多个运算符时,运算符优先级决定执行运算的先后次序,执行的顺序会影响所得到的运算结果。
在一个表达式中按先高(优先级数字小)后低(优先级数字大)的顺序进行运算。