SQL Server 2005数据库应用技术(第二版)虞益诚 第7章TransactSQL语言基础YU1001.pptVIP

  • 28
  • 0
  • 约2.22万字
  • 约 58页
  • 2017-08-19 发布于广东
  • 举报

SQL Server 2005数据库应用技术(第二版)虞益诚 第7章TransactSQL语言基础YU1001.ppt

SQL Server 2005数据库 应用技术(第二版) * * 7-4 运算符与表达式 7-4-5 字符串连接符 字符串连接符(+)用于实现字符串之间的连接操作 (如将 ‘abc’ + ‘def’ 存储为‘abcdef’)。这个加号也被称 为字符串连接运算符,字符串之间的其他操作都是通过字符 串函数(如SUBSTRING)来实现的。SQL Server中,字符串 连接符可操作的数据类型有:char、varchar、text、 nchar、nvarchar、ntext等。 * * 7-4 运算符与表达式 7-4-6 赋值运算符 SQL Server 2005中的赋值运算符为等号(=),附加SELECT 或SET 命令来进行赋值,它将表达式的值赋给一个变量,或为某列指定列标题 。如在所示的例中创建了@MyCounter 变量。然后,赋值运算符将 @MyCounter设置成一个由表达式返回的值。 DECLARE @MyCounter INT SET @MyCounter =22 % 5 也可以使用赋值运算符在列标题和为列定义值的表达式之间建立关 系。下面的示例显示名为 FirstColumnHeading和SecondColumnHeading 的两个列标题。在 FirstColumnHeading 列标题中所有行都显示字符串 “计算机网络”。在 SecondColumnHeading 列标题中列出来自 Products 表中的每个产品 ID。 USE Northwind SELECT FirstColumnHeading = 计算机网络, SecondColumnHeading = ProductID FROM Products GO * * 7-4 运算符与表达式 7-4-7 运算符的优先级 SQL Server中运算符具有不同的优先级,同一表达式中包含有 不同运算符时,运算符的优先级决定了表达式的计算和比较操作顺 序。SQL Server中各种运算符的优先级顺序为: (1)括号:()。 (2)正、负或取反运算符:+、—、~。 (3)乘、除、求模运算符:*、/、%。 (4)加、减、字符连接运算符:+、—、+。 (5)比较运算符:=、>、<、>=、<=、<>、!=、!>、!<。 (6)位运算符:^、&、|。 (7)逻辑非运算符:NOT。 (8)逻辑与运算符:AND。 (9)ALL、ANY、BETWEEN、IN、LIKE、OR、SOME等运算符。 (10)赋值运算符:=。 * * 7-4 运算符与表达式 7-4-7 运算符的优先级 上面列表中,排在最上面的优先级最高。在较低等级的运算符 之前先对较高等级的运算符进行求值。当一个复杂的表达式有多个 运算符时,运算符优先性决定执行运算的先后次序。执行的顺序会 影响所得到的值。 当一个表达式中的两个运算符有相同的运算符优先等级时,基 于它们在表达式中的位置来对其从左到右进行求值。例如,在下面 的示例中,在 SET 语句中使用的表达式中,在加号运算符之前先对 减号运算符进行求值。如: DECLARE @MyNumber int SET @MyNumber = 4 - 2 + 27 -- Evaluates to 2 + 27 which yields an expression result of 29. SELECT @MyNumber 在表达式中可以使用括号替代所定义的运算符的优先性。首先 对括号中的内容进行求值,从而产生一个值,然后括号外的运算符 才可以使用这个值。 * * 7-4 运算符与表达式 7-4-8 表达式 在SQL Server 2005中,,表达式与运算符都是构成语句的基 础,通过它们可以形成相关的Transact-SQL语句,演绎出不同复杂 程度的各类应用与管理程序。 表达式是由操作数和运算符按一定的语法形式组成的符号序列 ,表达式由常量、变量、运算符、函数、列名、子查询、CASE等组 成。表达式包括简单表达式与复杂表达式两种类型。表达式可用运 算符将两个或更多的简单表达式联接起来组成复杂表达式。每个表 达式经过运算之后都会产生一个确定类型的值。 一个常量或一个变量名字是最简单的表达式,其值即该常量或 变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂 的表达式。表达式还可以是计算,例如: (price * 1.5) 或 (price + len(sales_tax)); SELECT 学号, SUBSTRING(This is a lo

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档