SQL读书笔记运算符,控制诗句,函数

 

算术运算符可以在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。

 

算术运算符包括加(+)、减(—)、乘(*)、除(/)和取模(%)。

 

比较运算符用于比较两个表达式的大小或是否相同,其比较的结果是布尔值,即TRUE(表示表达式的结果

 

为真)、FALSE(表示表达式的结果为假)以及UNKNOWN。除了 text、ntext 或 image 数据类型的表达式

 

外,比较运算符可以用于所有的表达式。

 

逻辑运算符可以把多个逻辑表达式连接起来。逻辑运算符包括AND、OR和NOT等运算符。逻辑运算符和比较

 

运算符一样,返回带有 TRUE 或 FALSE 值的布尔数据类型。

 

字符串串联运算符允许通过加号 (+) 进行字符串串联,这个加号即被称为字符串串联运算符。例如对于

 

语句SELECT ‘abc’+’def’,其结果为abcdef。

 

运算符的优先等级从高到低如下所示 :

括号:();

乘、除、求模运算符:*、/、%;

加减运算符:+、- ;

比较运算符:=、>、<、>=、<=、<>、!=、!>、!<;

位运算符:^、&、|;

逻辑运算符:NOT;

逻辑运算符:AND;

逻辑运算符:OR。

 

函数

在Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL

 

编程语言提供了三种函数:

㈠行集函数:行集函数可以在Transact-SQL语句中当作表引用。

㈡聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。

㈢标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。

 

字符串函数

日期和时间函数

数学函数

转换函数

系统函数

聚合函数

其它函数

 

字符串函数的分类:

基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。

字符串查找函数:CHARINDEX、PATINDEX。

长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。

转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。

 

日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串、数字值或日期和

 

时间值。在SQL Server 2000中,日期和时间函数的类型如表2-5所示;另外,表2-6列出了日期类型的名

 

称、缩写形式以及可接受的值。

 

数学函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server提供的数字数据(

 

decimal、integer、float、real、money、smallmoney、smallint 和 tinyint)进行处理。

 

在同一表达式中使用CEILING()、FLOOR()、ROUND()函数。

select ceiling(13.4), floor(13.4), round(13.4567,3)

运行结果为:

--------- --------- -------

14        13        13.4570

 

----------------------------------

一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较 char 和 datetime 表达式、

 

smallint 和 int 表达式、或不同长度的 char 表达式,SQL Server 可以将它们自动转换,这种转换被

 

称为隐性转换。但是,无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的

 

,就需要使用转换函数做显示转换。转换函数有两个:CONVERT和CAST。

 

CONVERT和CAST函数

CAST ( expression AS data_type )

CONVERT函数允许用户把表达式从一种数据类型转换成另一种数据类型,还允许把日期转换成不同的样式

 

。其语法形式为:

CONVERT (data_type[(length)],expression [,style])

 

SELECT title, ytd_sales

FROM titles

WHERE CAST(ytd_sales AS char(20)) LIKE '15%'

   AND type = 'trad_cook'

运行结果为:

Title                                   ytd_sales

------------------------------

Fifty Years in Buckingham Palace Kitchens 15096

 

系统函数用于返回有关SQL Server系统、用户、数据库和数据库对象的信息。系统函数可以让用户在得到

 

信息后,使用条件语句,根据返回的信息进行不同的操作。与其它函数一样,可以在SELECT语句的SELECT

 

和WHERE子句以及表达式中使用系统函数。

 

返回 Northwind 数据库的 Employees 表中的首列的名称。

USE Northwind

SELECT COL_NAME(OBJECT_ID('Employees'), 1)

运行结果为:

EmployeeID

 

流程控制语句是指那些用来控制程序执行和流程分支的命令,在SQL Server 2000中,流程控制语句主要

 

用来控制SQL语句、语句块或者存储过程的执行流程。

 

IF…ELSE语句是条件判断语句,其中,ELSE子句是可选的,最简单的IF语句没有ELSE子句部分。IF…ELSE

 

语句用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。SQL Server允许嵌套使用

 

IF…ELSE语句,而且嵌套层数没有限制。

 

IF Boolean_expression

    { sql_statement | statement_block }

[ ELSE

    { sql_statement | statement_block } ]

 

BEGIN…END语句能够将多个Transact-SQL语句组合成一个语句块,并将它们视为一个单元处理。在条件语

 

句和循环等控制流程语句中,当符合特定条件便要执行两个或者多个语句时,就需要使用BEGIN…END语句

 

,其语法形式为:

BEGIN

    { sql_statement

        | statement_block

    }

END

 

CASE函数 :

CASE函数可以计算多个条件式,并将其中一个符合条件的结果表达式返回。

CASE函数按照使用形式的不同,可以分为简单CASE函数和搜索CASE函数。

 

CASE函数的语法形式

CASE input_expression

    WHEN when_expression THEN result_expression

      [ ...n ]

  [

    ELSE else_result_expression

    END 

 

搜索 CASE函数的语法形式:

CASE

    WHEN Boolean_expression THEN result_expression

       [ ...n ]

   [

   ELSE else_result_expression

   END

 

WHILE…CONTINUE…BREAK语句 :

WHILE…CONTINUE…BREAK语句用于设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重

 

复执行语句。其中,CONTINUE语句可以使程序跳过CONTINUE语句后面的语句,回到WHILE循环的第一行命

 

令。BREAK语句则使程序完全跳出循环,结束WHILE语句的执行。

 

结束WHILE语句的语法形式为:

WHILE Boolean_expression

    { sql_statement | statement_block }

    [ BREAK ]

    { sql_statement | statement_block }

    [ CONTINUE ]

 

GOTO语句可以使程序直接跳到指定的标有标识符的位置处继续执行,而位于GOTO语句和标识符之间的程序

 

将不会被执行。GOTO语句和标识符可以用在语句块、批处理和存储过程中,标识符可以为数字与字符的组

 

合,但必须以“:”结尾。

 

GOTO语句的语法形式

GOTO label

……

label:

程序清单2-50:利用GOTO语句求出从1加到5的总和。

declare @sum int, @count int

select   @sum=0, @count=1

label_1:

select @sum=@sum+@count

select @count=@count+1

if   @count<=5

goto label_1

select @count @sum

 

WAITFOR语句 :

WAITFOR语句用于暂时停止执行SQL语句、语句块或者存储过程等,直到所设定的时间已过或者所设定的时

 

间已到才继续执行。WAITFOR语句的语法形式为:

WAITFOR { DELAY 'time' | TIME 'time' }

其中,DELAY用于指定时间间隔,TIME用于指定某一时刻,其数据类型为datetime,格式为‘hh:mm:ss’

 

 

RETURN语句用于无条件地终止一个查询、存储过程或者批处理,此时位于RETURN语句之后的程序将不会被

 

执行。RETURN语句的语法形式为:

RETURN [ integer_expression ]

其中,参数 integer_expression 为返回的整型值。存储过程可以给调用过程或应用程序返回整型值。

转载于:https://www.cnblogs.com/zhaohui0312/archive/2007/04/11/709083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值