《数据库原理与应用》实验题目及答案 下载本文

图1-17 “错误和使用情况报告”对话框

⒃单击“下一步”。显示如图1-18所示的“安装规则”对话框。

图1-18 “安装规则”对话框 ⒄单击“下一步”,显示如图1-19所示的“准备安装”对话框。

图1-19 “准备安装”对话框 ⒅单击“安装”,显示如图1-20所示的“安装进度”对话框。

36

图1-20 “安装进度”对话框

⒆单击“下一步”,显示如图1-21所示的“安装完成”对话框。

图1-21 “安装完成”对话框 ⒇单击“关闭”,再单击“关闭”,关闭“SQL Server安装中心”。

附录2 系统数据类型

SQL Server 中的系统数据类型归纳为9个类别:精确数字、近似数字、日期和时间、字符串、Unicode字符串、二进制字符串、其他数据类型、CLR数据类型和空间数据类型, 共有35种具体类型。如表2.1 所示。

表2.1系统数据类型 类别 简称 位型 精确 数字 微整型 短整型 整型 大整型 类型标识符 bit tinyint smallint int bigint 取值范围 0和1 0~255 -32768~32767 -2147483648~2147483647 存储字节 1位 1 2 4 8 263~263-1 37

小数 短贷币 贷币 decimal[(p[,s])] numeric[(p[,s])] smallmoney money -10-1~10-1 -214478.3648~214478.3647 -922,337,203,685,477.5808至922,337,203,685,477.5807 38385,9, 13,17 4 8 4 浮点单精 real 近似 数字 浮点双精 Float[(n)] 日期时间 短日期时间 -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 -1.79E + 308 至 -2.23E - 308、0 8,4 以及 2.23E - 308 至 1.79E + 308 1753年1月1日~9999年12月31日 8 1900年1月1日~2079年6月6日 0001-1-1 ~9999-12-31仅存日期 datetime smalldatetime date time datetimeoffset datetime2 char[(n)] varchar[(n|max)] text nchar[(n)] nvarchar[(n|max)] ntext 4 3 3~5 日期 和 时间 日期 时间 日期时间 日期时间 只存储时间数据,精度为纳秒 0001-01-01 到 9999-12-31 10 个字节 00:00:00到 23:59:59.9999999 0001-01-01 到 9999-12-31 3、7或8 00:00:00到 23:59:59.9999999 个字节 1≤n≤8000,实际字符

1. decimal[(p[,s])] 和 numeric[(p[,s])]

带固定精度和小数位数的数值数据类型。numeric 在功能上等价于 decimal。 P(精度):最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精

38

度必须是从 1 到最大精度 38 之间的值。默认精度为 18。

s(小数位数):小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。

精度 存储字节数 1 - 9 10-19 20-28 29-38 5 9 13 17 2. float[(n)]

用于表示浮点数值数据,浮点数据为近似值。因此,并非数据类型范围内的所有值都能精确地表示。

其中 n 为用于存储 float 数值尾数的位数(以科学记数法表示),因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。

n value 1-24 25-53 精度 7 位数 15 位数 存储大小 4 字节 8 字节 SQL Server将n视为下列两个可能值之一。如果1<=n<=24,则将n视为24。如果 25<=n<=53,则将n视为53。

附录3 系统函数

3.1 数学函数

简称 向上取整 向下取整 四舍五入 绝对值 平方根 乖幂 符号 ? 随机数 自然指数 自然对数 三角正弦 三角余弦 函数 ceiling(数值表达式) floor(数值表达式) round(数值表达式, 小数位数) abs(数值表达式) sqrt(数值表达式) sign(数值表达式) Pi() rand([seed]) exp(float_expression) log(float_expression) sin(float_expression) cos(float_expression) 功能 返回不小于数值表达式值的最小整数 返回不大于数值表达式值的最大整数 将数值表达式四舍五入保留到小数位数 返回数值表达式的绝对值 返回数值表达式的算术平方根 正数返回1,零返回0,负数返回-1 返回3.14159265358979 返回0到1之间的随机float值,seed为随机种子 返回底数为e,指数为float_expression的自然指数 返回底数为e,真数为float_expression的自然对数 返回弧度为float_expression的三角正弦值 返回弧度为float_expression的三角余弦值 power(数值表达式,y) 返回数值表达式的y次方 10底对数 log10(float_expression) 返回10为底数,真数为float_expression的对数 【例3. 】数学函数举例

(1)select CEILING(12.4),CEILING(-12.8),CEILING(12)

13 -12 12

(2)select FLOOR(12.4),FLOOR(-12.4),FLOOR(12)

12 -13 12

39

(3)Select ROUND(12.345,2),ROUND(12.3,0),ROUND(12.3,-1)

12.350 12.0 10.0

(4)select ABS(-3.5),SQRT(9),POWER(2,3),SIGN(-6),PI()

3.5 3 8 -1 3.14159265358979

(5)select RAND(),RAND(0),RAND(1),round(100*rand(-3),0) 0.963400850719992 0.943597390424144 0.713591993212924 71

3.2 字符函数

简称 串长 len(字符表达式) 函数 功能 返回字符串的长度 返回串中左边n个字符 返回串中右边n个字符 在串中从起点m连续取n个字符 用串3替换串1中的所有串2 串1自起点m连续n个字符用串2替换 串1在串2中自m之后首次出现的起点 取左子串 left (字符表达式,长度n) 取右子串 right(字符表达式,长度n) 取子串 替换串 替换串 串位置 substring(串表达式,起点m,长度n) replace(串1,串2,串3) stuff(串1,起点m,长度n,串2) charindex(串1,串2[,搜索起点m]) 删左空格 ltrim(字符表达式) 删右空格 rtrim(字符表达式) 重复串 倒置串 空格串 数转串 replicate(字符表达式,n) reverse(字符表达式) space(数值表达式n) 删去串左边空格 删去串右边空格 字符表达式重复连接n次 将字符表达式的值倒置 返回由n个空格组成的空格串 将数值表达式的值转换为总长度为 str(数值表达式[,长度n[,小数位数m]]) n (默认10) ,小数部分四舍五入到m (默认0,)位的字符串,右对齐 返回串中首字符的ASCⅡ码 返回数值所对应的字符 串中大写字符转换为小写字符 串中小写字符转换为大写字符 abc')

ASCⅡ码 ascii(字符表达式) 码转字符 char(数值表达式) 转统一码 unicode(字符表达式) 小写串 大写串 nchar(数值表达式) lower(字符表达式) upper(字符表达式) 【例3. 】字符函数举例 (1)select len(''),len('ab 12'), len ('男'),len('中国

0 5 1 5

(2)select LEFT('abcde',3),RIGHT('abcde',3),SUBSTRING('abcde',2,3)

abc cde bcd

(3)select replace('abxycdxye','xy','中'),Stuff('abc',2,1,'x')

select Stuff('ab',2,0,'x'),Stuff('abc',2,1,'')

ab中cd中e axc axb ac

(4)select charindex('xy','axbxycdxy'),charindex('xy','axbxycdxy',5)

4 8

(5)select 'xy'+ltrim(' abc'),RTRIM('abc ')+'xy',replicate('学习',3)

40