asp与sql网页数据库程序设计- .pdf
《asp与sql网页数据库程序设计- .pdf》由会员分享,可在线阅读,更多相关《asp与sql网页数据库程序设计- .pdf(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8 Transact-SQL 语法基础8-1 Transact-SQL 表达式8-2 Transact-SQL 数据类型8-3 Transact-SQL 函数8-4 Query Analyzer工具程序8-5 Transact-SQL 语句8-6 数据处理语法(DML)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 39 页 -ASP 与 SQL 网站数据库程序设计208 在正式介绍Transact-SQL 语句的语法之前,笔者先利用较短的篇幅,简单介绍有关Transact-SQL 表达式、数据类型以及函数等。并且希望让从未接触过 SQL 语句设计的读者,可以有一些Transac
2、t-SQL 的运行概念;同时也可以让已经使用过Transact-SQL 语句设计的读者,作为相关查询的数据来源。8-1 Transact-SQL 表达式表达式是用来在“列与列之间”或者“在变量之间”进行比较以及数学运算的符号。在MS-SQL Server 中,表达式共具有“数学表达式”、“字符串表达式”、“比较式”以及“逻辑表达式”等四种表达式的类型;下面就对这些表达式类型进行详细的说明。8-1-1数学表达式数学表达式可以用在各种数字类型变量的运算。这些数字类型变量的数据类型共有:INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY。而数学表达式的
3、符号共有:加()、减()、乘(*)、除(/)和求余数()。其具体说明如表8-1 所示。表 8-1 符号功能可以操作用的数据类型加INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY 减INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY*乘INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY/除INT,SMALLINT,TINYINT,FLOAT,REAL,MONEY或者SMALLMONEY%取 余 数INT,SMALLINT,TINYINT 注意事项数学表
4、达式只能在数字变量或者数字型数组中进行运算。取余数只能使用在INT,SMALLINT和 TINYIINT数据类型。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 39 页 -第 8 章Transact-SQL 语法基础209 8-1-2字符串表达式字符串是由字符、符号以及数字所组成,并且字符串表达式是使用于字符串运算与操作的一种运算方式。在SQL Server 的字符串表达式中,字符串是可以使用数学表达式的“+”,达到字符串的相加、结合的目的。在SQL Server 的数据类型中,可以适用于字符串加法的数据类型计有:“Char”、“VarChar”、“Nvarchar”、“Tex
5、t”,以 及 可 以 转 换 为“Char”或 是“VarChar”数据类型的数据类型。例如:“ASP”、“&”以及“SQL 2000”三个字符串相加的表达式如下所示:Interval=“ASP”+“&”+“SQL 2000”这三个字符串、字符相加之后的结果“Interval”,其内容则为“ASP&SQL 2000”。8-1-3比较表达式比较表达式是用来对两个表达式进行比较。在MS-SQL Server 中,可以使用的比较表达式符号如表8-2 所示。表 8-2 较表达式符号表达式符号功能等于 大于=大于或者等于=小于或者等于 或!=不等于!不大于!不小于()优先级控制符此外,比较表达式的执行优
6、先级如同数学表达式一样,可以使用“()”来设置运算的优先级。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 39 页 -ASP 与 SQL 网站数据库程序设计210 8-1-4逻辑表达式在Transact-SQL 的 逻 辑 表 达 式 中,共 具有“AND”、“OR”以 及“NOT”三种逻辑表达式。以下是这三种逻辑表达式的功能说明:“AND”表达式:当所有的条件式在运算之后,只有全部的返回值都是“真”的情况下,其逻辑运算值才会返回“真”;反之,如果有一个返回值是“假”时,其逻辑运算值即为“假”。“OR”表达式:只要有一个条件式的返回值是“真”,其逻辑运算值即返回“真”。“NOT
7、”表达式:逻辑表达式“反向”。即逻辑运算值为“真”时,其返回值即为“假”。同时在优先级方面,其优先级为“NOT”、“AND”、“OR”。并且逻辑表达式可以使用的数据类型如表8-3 所示。表 8-3 逻辑表达式可以使用的数据类型左操作数右操作数binary,varbinary int,smallint,tinyint int,smallint,tinyint int,smallint,tinyint,binary bit int,smallint,tinyint,binary 8-1-5表达式的优先级通常在一个Transact-SQL 的表达式中,可能会包含许多不同类型的表达式。Transact
8、-SQL 在执行的过程中,根据下列的原则定义表达式的先后执行顺序:括号:“()”反向表达式:“”乘、除、取余数表达式:“*”、“/”、“”加减表达式:“”、“”XOR 表达式:“”AND 表达式:“&”OR 表达式:“|”NOT 连接AND 连接名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 39 页 -第 8 章Transact-SQL 语法基础211 OR 连接如果具有相同的优先级时,则按照“由左而右”的规则进行运算。8-2 Transact-SQL 数据类型数据类型是“信息”类型的表现方式;对于每一种程序设计语言来说,它们都各自具有对“信息”类型的不同定义方式。在MS-SQ
9、L Server 中共提供了 25 种不同的数据类型,以下是这些数据类型的分类与说明。表 8-4 数据类型的分类与说明类型数据类型说明二进制数据类型其数据内容是由“二进制”表示方式所组成的Binary(n)可以是固定长度,也可以是变化长度。Binary(n)是 n 位数固定长度的二进制数据。n 的范围是从1 到 8000,所使用的存储空间大小为n+4 个字节Varbinary(n)n 为变动长度的二进制数据。n 的范围是 1 到 8000,所使用的存储空间大小为 n+4 个字节Image 用于存储影像文件数据用。字符数据类型字符数据是由字符、数字以及符号所组合而成的数据Char(n)固定长度字
10、符串,最大为8192 字符VarChar(n)变动长度字符数据,长度不超过8192字符Text 可以存储超过8192 字符的数据日期和时间数据类型数据内容是以“日期格式”或者是“时间格式”的方式所存储的数据类型DateTime 存储的日期从1753 年 1 月 1 日到 9999年 12 月 31 日,每一个数值要求8 个字节的存储空间名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 39 页 -ASP 与 SQL 网站数据库程序设计212 续表类型数据类型说明Smalldatetime 存储的日期从1900 年 1 月 1 日到 2079年 12 月 31 日,每一个数值要求4
11、个字节的存储空间Unicode 数据类型用以存储Unicode 字符的数据类型Nchar 行 的 长 度 固 定 不 变,最 多 可 以 存 储4000 个字符Nvarchar 可变动行的长度,最多可以存储4000个字符Ntext 可以存储超过4000 个字符数值数据类型数值数据类型包括正数、负数、小数和浮点数Int 数 值 存 储 的 范 围 从 2,147,483,648 到2,147,483,647,每个数值要求4 个字节的存储空间SmallInt 存 储 的 范 围 是 32,768 到32,767,每个数值要求2 个字节的存储空间TinyInt 存储范围从0 到 255,每个数值要求
12、1个字节存储空间Decimal,Numeric 精确小数,数值范围从 1038 1 到 1038 1 Float 浮点数值,数值范围从 1.79E+308 到1.79E+308 Real 双 精 度 浮 点 数 值,数 值 范 围 从 3.40E+38 到3.40E+38,要 求的 存 储空间为 4 个字节货币数据类型用以表示货币数量的数据类型Money 要求 8 个字节的存储空间Smallmoney 要求 4 个字节的存储空间特殊数据类型名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 39 页 -第 8 章Transact-SQL 语法基础213 续表类型数据类型说明TimeS
13、tamp 以二进制的格式,表示SQL Server 活动的先后顺序Bit 以“0”或是“1”所组成的数据类型,使用 Bit 的数据类型可以表示“真”、“假”、“ON”或者是“OFF”Uniqueidentifier 以十六进制的方式,表示一个全域唯一的识别码8-3 Transact-SQL 函数在数据库的“日常维护”、“管理”、“数据查询”等方面,函数可以说使用得非常频繁。通过Transact-SQL 函数的使用,可以在“系统的相关信息”、“数学运算”、“查询”以及“统计”等方面,提供非常大的帮助。在MS-SQL Server 中,常用的函数有:“字符串函数”、“日期时间函数”、“数学函数”、
14、“转换函数”、“系统函数”以及“聚合函数”等。以下是这些函数的列示与说明。1.字符串函数表 8-5 字符串函数函数名称参数功能+expr expr 字符串加法ASCII char_expr 返回ASCII 的数值CHAR interger_expr 返回ASCII 的字符CHARINDEX“pattern”,expr取得Pattern 的起始位置DIFFERENCE char_expr1,char_expr2 字符串比较LTRIM char_expr 删除字符串左方的空格LOWER char_expr 将字符串的内容全部转换成小写字母名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共
15、 39 页 -ASP 与 SQL 网站数据库程序设计214 续表函数名称参数功能PATINDEX“%pattern”,expr取 得Pattern 的起始位置,其中,“%”为MS-SQL Server 专 用 的“万用字符”REPLICATE char_expr,integer_expr 根据指定的数值,产生重复的字符串内容RIGHT char_expr,interger_expr 返回字符串右边指定的字符内容REVERSE char_expr 反向表达式RTRIM char_expr 去除字符串右边的空格SOUNDEX char_expr 返回一个四位程序代码,用以比较两个字符串的相似性SP
16、ACE interger_expr 产生指定数量的空格STUFF char_expr1,start,length,char_expr2 在char_expr 字符串中,从start 开始,长 度 为length的 字 符 串,以char_expr2 取代SUBSTRING expr,start,length 返回expr 字符串中,从start 开始,长度为 length 的字符串STR float,length,decimal 将数值转换为字符串的函数。Length为总长度,decimal 是小数点之后的长度UPPER char_expr 将字符串中全部的字符转换为大写字母2.日期与时间函数
17、表 8-6 日期与时间函数函数名称参数功能GETDATE()返回系统目前的日期与时间DATEDIFF(datepart,date1,date2)以 datepart 指定的方式,返回date2 与date1两个日期之间的值名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 39 页 -第 8 章Transact-SQL 语法基础215 续表函数名称参数功能DATEADD(datepart,number,date)以 datepart 指定的方式,返回date,加上 number 之后的日期DATEPART(datepart,date)返回日期 date 中,datepart 指定部分
18、所对应的整数值DATENAME(datepart,date)返回日期 date 中,datepart 指定部分所对应的字符串名称以下所列的是在日期与时间函数中,与datepart 相关“字段名称”、“缩写”以及“数值范围”的列表。表 8-7 日期与时间函数相关列表字段名称缩写数值范围Year Yy 1753 9999 Quarter Qq 1 4 Month Mm 1 12 Day of year Dy 1 366 Day Dd 1 31 Week Wk 0 51 Weekday Dw 1 7 Hour Hh 0 23 Minute Mi 0 59 Second Ss 0 59 Millise
19、cond Ms 0 999 3.数学函数表 8-8 数学函数函数名称参数功能说明ABS Numeric_expr 返回Numeric_expr 的绝对值ASIN、ACOS、ATAN Float_expr 返回 Float_expr 浮点数值的反正弦、反余弦、反正切名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 39 页 -ASP 与 SQL 网站数据库程序设计216 续表函数名称参数功能说明SIN、COS、TAN Float_expr 返回Float_expr 的正弦、余弦、正切CEILING Numeric_expr 返回大于或等于指定数值的最小整数EXP Float_expr
20、 返回Float_expr 数值的指数DEGREES Numeric_expr 把Numeric_expr 弧度转换为角度FLOOR Numeric_expr 返回小于或等于指定数值的最大整数POWER Numeric_expr 返回指定数值的次幂值LOG Float_expr 返回Float_expr 的自然对数SQRT Float_expr 返回Flot_expr 的平方根RAND seed 返回介于0 到 1 之间的随机数PI()圆周率Pi 值,3.141592653589793 ROUND Numeric_expr,length 将Numeric_expr 以指定的长度(Length)
21、进行四舍五入的运算SIGN Numeric_expr 依据Numeric_expr 的数值,判断是否为“正”、“负”以及“零”,并且返回“1”、“1”以及“0”LOG10 Float_expr 返 回Float_expr 以10 为底 的 自 然对数RANIANS Numeric_expr 把Numeric_expr 角度转换为s弧度4.转换函数转换函数是用来在表达式格式之间,进行数据类型转换的一种函数,其语法格式如下所示:CONVERT(datatype(length),expression,style)其中 datatype 是参数 expression 转换之后的数据类型。转换之后的数据
22、类型只能是SQL Server 系统默认的数据类型,而不能是用户自定义的数据类型。其中length 表示转换之后的数据长度,系统默认值为“30”,最大值则为“255”。转换函数如果是使用在将DateTime 或者 SmallDateTime 格式转换为字符类型时,则必须以Style 作为转换之后的字符格式,其参数与对应的日期格式名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 39 页 -第 8 章Transact-SQL 语法基础217 如表 8-9 所示。表 8-9 转换后的参数与对应的日期格式不具“公元”的格式具“公元”的格式转换后的字符串格式(默认的)0 或者 100 m
23、on dd yy hh:mi AM(或 PM)1 101 mm/dd/yy 2 102 yy.mm.dd 3 103 dd/mm/yy 4 104 dd.mm.yy 5 105 dd-mm-yy 6 106 dd mon yy 7 107 mon dd,yy 8 108 hh:mi:s 9 或是 109 mon dd,yyyy hh:mi:ss:msAM(或是 PM)10 110 mm-dd-yy 11 111 Yy/mm/dd 12 112 Yymmdd 13 或是 113 dd mon yy hh:mi:ss:ms(24小时制)14 114 hh:mi:ss:ms(24 小时制)5.系统函
24、数MS-SQL Server 中,提供可以显示“SQL Server 服务器”、“数据库”以及“与帐号有关”的系统函数。系统函数可以使用在表达式之中,并且使用格式、常用的系统函数如下所示:system_function(argument)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 39 页 -ASP 与 SQL 网站数据库程序设计218 表 8-10 常用的系统函数函数名称参数结果COALESCE expr1,expr2,exprn 返回第一个非空白的表达式COL_NAME“table_id”,“col_id”返回指定的表以及数据行识别码所对应的数据行名称COL_LENGT
25、H“table_name”,“col_name”返回指定的数据行长度DB_ID “database_name”返回数据库的ID 识别码DB_NAME “database_name”返回数据库的名称DATALENGTH“expr”返回任意数据类型表达式的实际长度GETANSINULL “database_name”返回数据库NULL 的默认值HOST_ID()返回主机的ID 识别码HOST_NAME()返回主机的名称IDENT_INCR“table or view”返 回 指 定 的 表 或View 中,IDENTITY 行的增量值IDENT_SEED“table or view”返 回 指 定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asp与sql网页数据库程序设计- 2022 asp sql 网页 数据库 程序设计
限制150内