第1章 数据库配置与管理 1
1.1 安装数据库 2
1.1.1 安装SQL Server数据库 2
1.1.2 基于Windows系统安装Oracle数据库 9
1.1.3 基于Linux系统安装Oracle数据库 28
1.1.4 基于Windows系统安装MySQL数据库 31
1.1.5 基于Linux系统安装MySQL数据库 35
1.2 配置SQL Server服务器 37
1.2.1 创建服务器组 37
1.2.2 注册服务器 38
1.2.3 管理SQL Server服务 41
1.2.4 修改SQL Server登录方式 42
1.2.5 配置网络连接 45
1.3 远程访问SQL Server 45
1.3.1 建立SQL Server虚拟目录 45
1.3.2 通过HTTP访问SQL Server 48
1.3.3 通过代理服务器访问SQL Server 48
1.3.4 客户端远程访问SQL Server 49
1.4 SQL Server管理工具 49
1.4.1 使用查询分析器 49
1.4.2 使用事件探查器 53
1.4.3 bcp实用工具 54
1.4.4 isql实用工具 55
1.4.5 isqlw实用工具 57
1.4.6 osql实用工具 58
1.4.7 scm实用工具 59
1.4.8 sqlservr应用程序 61
1.5 远程访问Oracle 61
1.5.1 服务器端网络配置(配置监听器) 62
1.5.2 客户端网络配置(配置本地命名方式) 63
1.6 Oracle管理工具 65
1.6.1 SQL*Plus工具 65
1.6.2 SQL*Plus Worksheet工具 66
1.7 配置MySQL服务器 67
1.7.1 启动和关闭MySQL服务器 67
1.7.2 管理MySQL用户账户 68
1.8 MySQL管理工具 69
1.8.1 MySQL命令行工具 69
1.8.2 MySQL服务器实例配置向导工具 70
1.9 生成和执行脚本 70
1.9.1 生成SQL Server数据库脚本 70
1.9.2 执行SQL Server数据库脚本 72
1.9.3 生成MySQL数据库脚本 72
1.9.4 执行MySQL数据库脚本 73
第1章 数据库配置与管理 1
1.1 安装数据库 2
1.1.1 安装SQL Server数据库 2
1.1.2 基于Windows系统安装Oracle数据库 9
1.1.3 基于Linux系统安装Oracle数据库 28
1.1.4 基于Windows系统安装MySQL数据库 31
1.1.5 基于Linux系统安装MySQL数据库 35
1.2 配置SQL Server服务器 37
1.2.1 创建服务器组 37
1.2.2 注册服务器 38
1.2.3 管理SQL Server服务 41
1.2.4 修改SQL Server登录方式 42
1.2.5 配置网络连接 45
1.3 远程访问SQL Server 45
1.3.1 建立SQL Server虚拟目录 45
1.3.2 通过HTTP访问SQL Server 48
1.3.3 通过代理服务器访问SQL Server 48
1.3.4 客户端远程访问SQL Server 49
1.4 SQL Server管理工具 49
1.4.1 使用查询分析器 49
1.4.2 使用事件探查器 53
1.4.3 bcp实用工具 54
1.4.4 isql实用工具 55
1.4.5 isqlw实用工具 57
1.4.6 osql实用工具 58
1.4.7 scm实用工具 59
1.4.8 sqlservr应用程序 61
1.5 远程访问Oracle 61
1.5.1 服务器端网络配置(配置监听器) 62
1.5.2 客户端网络配置(配置本地命名方式) 63
1.6 Oracle管理工具 65
1.6.1 SQL*Plus工具 65
1.6.2 SQL*Plus Worksheet工具 66
1.7 配置MySQL服务器 67
1.7.1 启动和关闭MySQL服务器 67
1.7.2 管理MySQL用户账户 68
1.8 MySQL管理工具 69
1.8.1 MySQL命令行工具 69
1.8.2 MySQL服务器实例配置向导工具 70
1.9 生成和执行脚本 70
1.9.1 生成SQL Server数据库脚本 70
1.9.2 执行SQL Server数据库脚本 72
1.9.3 生成MySQL数据库脚本 72
1.9.4 执行MySQL数据库脚本 73
第2章 使用企业管理器管理数据库 75
2.1 企业管理器 76
2.1.1 SQL Server企业管理器 76
2.1.2 Oracle企业管理器 76
2.2 创建数据库对象 77
2.2.1 创建数据表 77
2.2.2 创建视图 79
2.2.3 创建存储过程 81
2.2.4 创建触发器 81
2.3 备份和恢复数据库 83
2.3.1 备份SQL Server数据库 83
2.3.2 还原SQL Server数据库 85
2.3.3 备份Oracle数据库 86
2.3.4 还原Oracle数据库 89
2.4 导入和导出数据 91
2.4.1 从SQL Server中导入数据表 91
2.4.2 从SQL Server中导出数据表 94
2.4.3 从Oracle中导出数据表 95
2.4.4 从Oracle中导入数据表 98
第3章 SQL语言基础 103
3.1 SQL语言概述 104
3.1.1 SQL概述 104
3.1.2 SQL语言的组成 104
3.1.3 SQL语句结构 106
3.1.4 T-SQL语句分类 106
3.2 数据类型 107
3.2.1 整数数据类型 107
3.2.2 浮点数据类型 107
3.2.3 字符数据类型 108
3.2.4 日期和时间数据类型 109
3.2.5 货币数据类型 109
3.2.6 二进制数据类型 110
3.2.7 文本和图像数据类型 110
3.2.8 用户自定义类型 110
3.3 常量 112
3.3.1 数值常量 112
3.3.2 字符串常量 112
3.3.3 日期和时间常量 112
3.4 变量 112
3.4.1 局部变量 112
3.4.2 全局变量 114
3.5 运算符 116
3.5.1 算术运算符 116
3.5.2 赋值运算符 117
3.5.3 逻辑运算符 118
3.6 流程控制语句 119
3.6.1 语句块BEGIN...END 119
3.6.2 IF条件选择语句 121
3.6.3 IF...ELSE 122
3.6.4 CASE分支选择语句 124
3.6.5 WHILE循环语句 127
3.6.6 WHILE...CONTINUE...BREAK循环 128
3.6.7 RETURN 129
3.6.8 GOTO 130
3.6.9 WAITFOR 131
3.7 常用命令 132
3.7.1 DBCC命令 132
3.7.2 CHECKPOINT命令 134
3.7.3 DECLARE命令 134
3.7.4 PRINT命令 136
3.7.5 RAISERROR命令 139
3.7.6 READTEXT命令 139
3.7.7 BACKUP命令 140
3.7.8 SELECT命令 141
3.7.9 SET命令 143
3.7.10 SHUTDOWN命令 144
3.7.11 WRITETEXT命令 145
3.7.12 USE命令 145
第4章 管理数据库与数据表 147
4.1 数据库管理 148
4.1.1 创建数据库 148
4.1.2 修改数据库 152
4.1.3 删除数据库 158
4.2 数据表管理 159
4.2.1 创建数据表 160
4.2.2 查看数据表 167
4.2.3 修改数据表 169
4.2.4 删除数据表 177
第5章 添加数据 179
5.1 插入单行记录 180
5.1.1 INSERT语句基本语法 180
5.1.2 插入整行数据 180
5.1.3 插入NULL值 181
5.1.4 惟一值的插入 181
5.1.5 特定字段数据插入 182
5.1.6 插入默认值 184
5.1.7 插入日期数据 184
5.1.8 通过视图插入行 186
5.1.9 向表中插入记录时注意指定的不同的字段顺序 186
5.1.10 插入的数据类型值与实际中的数据类型不匹配时,系统将输出错误提示 187
5.1.11 向表中插入字段的个数少于表中实际字段的个数,有时会出错 188
5.2 插入多行记录 189
5.2.1 插入多行记录的语法格式 189
5.2.2 使用VALUES关键字引入多行数据插入 189
5.2.3 使用SELECT语句插入值 190
5.3 表中数据的复制 191
5.3.1 基本语法 191
5.3.2 表中数据的复制应用 191
5.4 将SQL Server中数据导出到记事本中 192
5.5 将SQL Server中的数据导入/导出到Excel数据表中 193
5.5.1 从Excel导入数据到SQL Server中 193
5.5.2 从SQL Server中将数据导出到Excel数据表中 194
5.6 将SQL Server中的数据导入/导出到ACCESS中 196
5.6.1 从ACCESS导入数据到SQL Server中 196
5.6.2 将SQL Server中的数据导出到ACCESS中 197
第6章 修改和删除数据 199
6.1 UPDATE语句的基本语法 200
6.2 使用UPDATE语句更新列值 202
6.3 利用子查询更新行中的值 205
6.3.1 语法格式 205
6.3.2 利用子查询返回的行数不多于一行(只返回一个值) 205
6.3.3 利用子查询返回多行(返回多个值) 206
6.3.4 利用内连接查询来更新数据表中的信息 207
6.4 依据外表值更新数据 209
6.5 赋值UPDATE 210
6.5.1 使用UPDATE为表中所有行中的数据赋值(省略WHERE子句) 210
6.5.2 使用UPDATE为表中的多行数据赋值 211
6.5.3 使用UPDATE为表中的一行数据赋值(WHERE子句不能省) 211
6.6 分步更新表中的数据 212
6.7 修改指定字段的数据值 214
6.7.1 修改指定datetime类型字段内的数据 214
6.7.2 修改指定int类型字段内的数据 215
6.7.3 修改指定varchar类型字段内的数据 215
6.7.4 修改指定float类型字段内的数据 216
6.8 DELETE语句的基本语法 217
6.9 使用DELETE语句删除数据 217
6.9.1 使用DELETE语句删除所有数据(省略WHERE子句) 217
6.9.2 使用DELETE语句删除多行数据 219
6.9.3 DELETE语句删除单行数据(WHERE子句不能省) 220
6.10 删除重复行 221
6.10.1 删除完全重复行 221
6.10.2 删除部分重复行 222
6.11 使用TRUNCATE TABLE语句删除数据 224
6.12 使用DELETE语句中带有的TOP子句 224
6.13 删除指定字段数据为空的记录 225
6.14 通过视图更新表 226
6.14.1 通过视图更新表数据 226
6.14.2 通过视图删除表数据 228
第7章 SQL的基本查询 229
7.1 简单查询 230
7.1.1 SELECT语句基本结构 230
7.1.2 单列查询 230
7.1.3 多列查询 231
7.1.4 查询所有的列 232
7.1.5 别名的应用 232
7.1.6 使用TOP查询前若干行 235
7.1.7 除掉重复列 237
7.2 计算列查询 238
7.2.1 连接列值 238
7.2.2 查询中使用计算列 238
7.2.3 查询中使用表达式 240
7.3 条件查询 242
7.3.1 WHERE子句 242
7.3.2 使用“=”查询数据 242
7.3.3 使用“”查询数据 243
7.3.4 使用“”查询数据 243
7.3.5 使用“=”查询数据 244
7.3.6 使用“=”查询数据 244
7.3.7 使用“!”查询数据 245
7.3.8 使用“!”查询数据 245
7.3.9 使用“!=”和“”查询数据 245
7.4 范围查询(BETWEEN) 246
7.4.1 查询两数之间的数据 246
7.4.2 查询两个日期之间的数据 247
7.4.3 在BETWEEN中使用日期函数 247
7.4.4 查询不在两数之间的数据 248
7.5 逻辑运算符 249
7.5.1 使用AND运算符 249
7.5.2 使用OR运算符 250
7.5.3 使用NOT运算符 251
7.5.4 使用OR、AND进行查询 252
7.6 格式化结果集 252
7.6.1 格式化日期 253
7.6.2 格式化小数位数 253
7.6.3 除去空格 254
第8章 复杂查询 257
8.1 模糊查询 258
8.1.1 LIKE谓词 258
8.1.2 “%”通配符的使用 259
8.1.3 “_”通配符的使用 259
8.1.4 “[]”通配符的使用 260
8.1.5 “[^]”通配符的使用 260
8.1.6 ESCAPE转义字符 261
8.2 IN运算符 262
8.2.1 使用IN查询数据 263
8.2.2 在IN中使用运算 263
8.2.3 在IN中使用列进行查询 264
8.2.4 使用NOT IN查询数据 264
8.2.5 使用NOT IN查询后两行数据 265
8.3 行查询 266
8.3.1 随机查询一行数据 266
8.3.2 结果集中添加行号 267
8.3.3 查询隔行数据 268
8.3.4 查询指定范围内的所有行数据 269
8.4 空值(NULL)判断 270
8.4.1 查询空值(IS NULL) 270
8.4.2 查询非空值(IS NOT NULL) 271
8.4.3 对空值进行处理 271
8.5 对结果集操作 273
8.5.1 利用结果集创建永久表 273
8.5.2 利用结果集创建临时表 274
8.6 复杂条件查询 274
8.6.1 查询表中的第n行数据 274
8.6.2 查询考试成绩最高的分数 276
8.6.3 查询各部门人数 277
8.6.4 查询各部门基本工资最低的员工 278
第9章 数据排序 279
9.1 数值数据排序 280
9.1.1 按升序和降序排列 280
9.1.2 按列别名排序 281
9.1.3 在ORDER BY子句中使用表达式 283
9.1.4 按空值排序 283
9.1.5 对多列排序 287
9.1.6 对数据表中的指定行数进行排序 289
9.2 字符串排序 293
9.2.1 按字符串中的子串排序 293
9.2.2 按字符串中的数值排序 298
9.3 汉字排序 299
9.3.1 排序规则简介 299
9.3.2 按姓氏笔画排序 300
9.3.3 按拼音排序 301
9.4 按列的编号排序 301
9.5 动态排序 303
9.5.1 在MS SQL Server中的动态排序 303
9.5.2 在Oracle 9i中的动态排序 304
9.6 随机排序 306
第10章 数据统计分析 307
10.1 聚合函数 308
10.2 聚合函数的典型应用 309
10.2.1 求平均值 309
10.2.2 获取结果集行数 311
10.2.3 计算不包括最大值和最小值的平均值 313
10.2.4 对多列求和 314
10.2.5 在WHERE子句中使用聚合函数 316
10.2.6 Oracle 9i数据库NVL()函数在聚合函数中的使用 316
10.2.7 多个聚合函数的使用 317
10.3 分组统计 318
10.3.1 使用GROUP BY子句创建分组 318
10.3.2 使用GROUP BY子句创建多列分组 319
10.3.3 对表达式进行分组统计 320
10.3.4 在统计中使用ROLLUP关键字和CUBE关键字 321
10.3.5 在SQL查询语句中GROUP BY子句的NULL值处理 323
10.3.6 使用HAVING子句设置统计条件 323
10.3.7 使用COMPUTE子句在结果集中显示明细和汇总行 325
10.3.8 使用COMPUTE BY子句显示多级分类汇总 327
10.3.9 对统计结果排序 328
10.3.10 在WHERE子句中使用GROUP BY子句 329
10.3.11 GROUP BY子句的特殊用法 329
第11章 子查询 331
11.1 简单子查询 332
11.1.1 SELECT列表中的子查询 333
11.1.2 多列子查询 333
11.1.3 比较子查询 334
11.1.4 在子查询中使用聚合函数 335
11.2 多行子查询 335
11.2.1 使用IN操作符的多行子查询 336
11.2.2 使用NOT IN子查询实现差集运算 336
11.2.3 理解通过量词实现多行子查询 337
11.2.4 使用ALL操作符的多行子查询 338
11.2.5 使用ANY/SOME操作符的多行子查询 339
11.2.6 EXISTS子查询实现两表交集 340
11.2.7 NOT EXISTS子查询实现两表的差集 343
11.2.8 UNIQUE子查询 344
11.3 相关子查询 344
11.3.1 使用IN引入相关子查询 345
11.3.2 使用NOT IN引入相关子查询 345
11.3.3 在子查询中使用总计函数返回单个值 347
11.3.4 理解子查询在WHERE子句中的作用 347
11.3.5 在HAVING子句中使用相关子查询 348
11.4 嵌套子查询 349
11.4.1 嵌套子查询 349
11.4.2 复杂的嵌套查询 350
11.4.3 嵌套查询在查询统计中的应用 352
11.4.4 在UPDATE中使用子查询 353
11.4.5 在INSERT中使用子查询 354
11.4.6 在DELETE中使用子查询 354
11.5 组合查询 355
11.5.1 交集运算 355
11.5.2 差集运算 355
11.5.3 通过UNION合并多个结果集 356
11.5.4 使用UNION ALL保留重复行 357
11.5.5 通过UNION语句提高查询结果的可读性 358
11.5.6 在UNION中通过文字确定数据的来源 359
11.5.7 通过UNION ALL语句将数据表中的指定记录优先显示 360
11.6 递归查询 361
11.6.1 CTE 361
11.6.2 递归查询 362
第12章 多表连接 365
12.1 多表连接 366
12.1.1 笛卡尔乘积 366
12.1.2 通过WHERE子句连接多表 367
12.1.3 通过FROM子句连接多表 367
12.1.4 在多表连接中设置连接条件 368
12.1.5 在多表连接中返回某个表的所有列 369
12.1.6 通过设置表别名提高SQL可读性 369
12.2 内连接 370
12.2.1 等值连接 370
12.2.2 不等值连接 371
12.2.3 自然连接 372
12.2.4 复杂的内连接查询 372
12.3 外连接 373
12.3.1 左外连接 373
12.3.2 右外连接 374
12.3.3 全外连接 375
12.3.4 通过外连接进行多表联合查询 376
12.4 其他连接 377
12.4.1 自连接 377
12.4.2 交叉连接 377
第13章 聚合与旋转数据 379
13.1 聚合数据 380
13.1.1 聚合数据 380
13.1.2 OVER子句 380
13.1.3 附加属性(Tiebreakers) 383
13.1.4 累积聚合 384
13.1.5 滑动聚合 386
13.1.6 YTD聚合 388
13.2 旋转数据(交叉表) 388
13.2.1 结果集的简单旋转 389
13.2.2 将结果集旋转成一行 389
13.2.3 将结果集旋转后求和 390
13.2.4 结果集旋转后汇总重复字段 392
13.2.5 动态生成旋转数据 393
13.2.6 结果集的反向旋转 394
13.3 常用交叉表查询 395
13.3.1 Access交叉表查询 395
13.3.2 SQL Server 2000交叉表查询 397
13.3.3 SQL Server 2005交叉表查询方案 398
第14章 视图 403
14.1 视图概述 404
14.2 视图创建 404
14.2.1 使用企业管理器创建视图 404
14.2.2 使用CREATE VIEW语句创建视图 407
14.2.3 使用向导创建视图 409
14.2.4 创建基于视图的视图 411
14.3 视图重命名 413
14.4 视图修改 413
14.4.1 使用企业管理器修改视图 413
14.4.2 使用ALTER VIEW语句修改视图 414
14.5 视图定义信息查询 416
14.6 视图删除 418
14.6.1 使用企业管理器删除视图 418
14.6.2 使用DROP VIEW语句删除视图 419
14.7 视图应用 420
14.7.1 通过视图添加数据 420
14.7.2 通过视图更新数据 422
14.7.3 通过视图删除数据 422
14.7.4 通过视图简化复杂查询 423
14.7.5 通过视图过滤不想要的数据 424
14.7.6 通过视图显示表达式的结果 424
14.7.7 在视图中使用WITH CHECK OPTION子句 426
14.8 使用视图加强数据安全 427
14.8.1 对视图进行加密 427
14.8.2 对不同的用户设置权限 428
14.8.3 通过视图限制用户对列的访问 430
14.8.4 通过视图限制用户对行的访问 430
第15章 存储过程 433
15.1 存储过程概述 434
15.1.1 存储过程的概念 434
15.1.2 存储过程的作用和功能 434
15.1.3 存储过程的优点 435
15.2 创建存储过程 436
15.2.1 CREATE PROCEDURE语句 436
15.2.2 创建具有回传参数的存储过程 440
15.2.3 在存储过程中使用事务 448
15.2.4 使用Return语句从存储过程中返回值 449
15.3 管理存储过程 450
15.3.1 执行存储过程 451
15.3.2 执行具有回传参数的存储过程 453
15.3.3 查看存储过程 454
15.3.4 修改存储过程 456
15.3.5 删除存储过程 459
15.3.6 存储过程的重新编译 460
15.3.7 调试存储过程 462
15.3.8 执行远程存储过程 463
15.3.9 扩展存储过程 466
15.4 在Oracle数据库下创建存储过程 467
15.4.1 创建存储过程 467
15.4.2 执行存储过程 469
15.4.3 删除存储过程 469
15.5 在MySQL数据库下创建存储过程 469
15.5.1 创建存储过程 469
15.5.2 执行存储过程 471
第16章 自定义函数及应用 473
16.1 自定义函数概述 474
16.1.1 自定义函数的特点 474
16.1.2 自定义函数的类别 474
16.1.3 自定义函数中有效语句类型 474
16.2 创建函数 475
16.2.1 创建自定义函数 475
16.2.2 创建标量函数 476
16.2.3 创建内联表值函数 479
16.2.4 创建多语句表值函数 480
16.3 管理函数 482
16.3.1 调用函数 482
16.3.2 查看函数 483
16.3.3 修改函数 485
16.3.4 删除函数 487
16.3.5 函数的架构绑定 488
16.4 函数与存储过程的区别 489
第17章 触发器 491
17.1 触发器的优点 492
17.2 触发器的种类 492
17.2.1 SQL Server中触发器的种类 492
17.2.2 Oracle中触发器的种类 493
17.3 创建触发器 493
17.3.1 创建简单的触发器 493
17.3.2 创建具有触发条件的触发器 500
17.3.3 创建嵌套触发器 503
17.3.4 创建递归触发器 506
17.3.5 创建INSTEAD OF触发器 508
17.3.6 创建列级触发器 511
17.4 管理触发器 513
17.4.1 查看触发器 513
17.4.2 修改触发器 515
17.4.3 重命名触发器 517
17.4.4 禁用和启用触发器 518
17.4.5 删除触发器 519
17.5 应用触发器 520
17.5.1 应用触发器添加数据 520
17.5.2 应用触发器修改数据 522
17.5.3 应用触发器删除数据 523
17.6 在Oracle数据库下创建触发器 524
17.6.1 DML触发器 524
17.6.2 创建DDL触发器 526
17.7 在MySQL数据库下创建触发器 527
第18章 游标及应用 529
18.1 创建游标 530
18.1.1 声明游标 530
18.1.2 打开游标 532
18.1.3 读取游标中数据 533
18.1.4 嵌套游标 536
18.1.5 关闭并释放游标 538
18.1.6 创建参数化游标 539
18.2 游标属性 541
18.2.1 获取游标状态 541
18.2.2 获取游标行数 543
18.3 游标操作 544
18.3.1 基于游标定位修改数据 544
18.3.2 基于游标定位删除数据 546
18.3.3 在游标中包含计算列 547
18.3.4 将游标中的数据进行排序显示 549
18.4 动态游标 550
18.4.1 声明游标变量 550
18.4.2 使用游标变量 550
18.5 游标系统存储过程 553
18.5.1 sp_cursor_list存储过程 553
18.5.2 sp_describe_cursor存储过程 554
18.5.3 sp_describe_cursor_columns存储过程 556
18.5.4 sp_describe_cursor_tables存储过程 558
18.6 在Oracle数据库下使用游标 559
18.6.1 显式游标 559
18.6.2 隐式游标 561
第19章 事务 563
19.1 事务概述 564
19.1.1 显式事务与隐性事务 564
19.1.2 设置事务属性 567
19.1.3 事务的工作机制 568
19.1.4 编写有效的事务 569
19.2 事务操作 570
19.2.1 提交事务 570
19.2.2 设置事务回退点 572
19.2.3 回滚事务 574
19.3 事务并发控制 575
19.3.1 事务的并发问题 575
19.3.2 表级锁定 576
19.3.3 设置事务隔离层并发控制 579
19.3.4 死锁的产生及预防 581
19.4 分布事务处理 582
19.4.1 分布式事务简介 582
19.4.2 创建分布式事务 583
19.4.3 分布式处理协调器 583
第20章 索引 585
20.1 索引的概述 586
20.1.1 索引的基本概念 586
20.1.2 索引的分类 587
20.1.3 使用索引的原则 587
20.2 创建索引 588
20.2.1 创建简单的非簇索引 588
20.2.2 创建多字段非簇索引 590
20.2.3 创建惟一索引 591
20.2.4 创建簇索引 593
20.2.5 创建虚拟列索引 596
20.3 维护索引 598
20.3.1 查看是否需要维护索引 598
20.3.2 重构索引 600
20.3.3 整理索引碎片 602
20.3.4 删除索引 603
第21章 聚合函数 605
21.1 统计聚合函数 606
21.1.1 求和函数 606
21.1.2 最大值函数 610
21.1.3 最小值函数 613
21.1.4 平均值函数 617
21.1.5 标准偏差函数 621
21.1.6 方差函数 625
21.2 行聚合函数 630
21.2.1 SQL Server:Count()函数 630
21.2.2 Oracle:Count()函数 631
21.2.3 MySql:Count()函数 632
21.3 列表函数 632
21.3.1 列表最大值函数 632
21.3.2 列表最小值函数 634
第22章 数学函数 637
22.1 符号转换判断函数 638
22.1.1 绝对值函数 638
22.1.2 符号判断函数 640
22.2 取舍函数 641
22.2.1 四舍五入函数 641
22.2.2 向上取整函数 643
22.2.3 向下取整函数 645
22.3 三角函数 646
22.3.1 正弦函数 647
22.3.2 反正弦函数 649
22.3.3 余弦函数 650
22.3.4 正切函数 652
22.3.5 反正切函数 654
22.3.6 余切函数 656
22.3.7 角度/弧度函数 657
22.4 指数/对数函数 659
22.4.1 指数函数 659
22.4.2 对数函数 665
22.5 进制转换函数 668
22.5.1 Oracle:Hextoraw()函数 668
22.5.2 Oracle:Rawtohex()函数 669
22.6 随机函数 669
22.6.1 SQL Server:Rand函数 670
22.6.2 MySQL:Rand()函数 670
第23章 字符串处理函数 673
23.1 大小写转换函数 674
23.1.1 大写转换函数 674
23.1.2 小写转换函数 676
23.2 去除空格函数 678
23.2.1 去除左空格函数 678
23.2.2 去除右空格函数 680
23.3 连接与截取函数 681
23.3.1 连接函数 681
23.3.2 截取函数 683
23.4 查找\替换函数 686
23.4.1 查找函数 686
23.4.2 替换函数 693
23.5 其他字符处理函数 697
23.5.1 转换函数 697
23.5.2 修改函数 701
23.5.3 比较函数 709
第24章 日期时间处理函数 713
24.1 日期时间获取函数 714
24.1.1 日期获取函数 714
24.1.2 时间获取函数 726
24.1.3 星期函数 729
24.2 日期时间处理函数 734
24.2.1 日期修改函数 734
24.2.2 时间修改函数 738
24.3 日期时间比较函数 741
24.3.1 日期比较函数 741
24.3.2 时间比较函数 743
24.4 日期时间截取函数 743
24.4.1 获取日期时间各个部分 743
24.4.2 日期时间截取函数 745
24.4.3 日期时间格式化函数 747
24.4.4 日期时间格式化函数 748
第25章 数学函数 753
25.1 通用类型转换函数 754
25.1.1 SQL Server:Cast()函数 754
25.1.2 SQL Server:Convert()函数 754
25.1.3 Oracle:Convert()函数 755
25.1.4 Oracle:Cast()函数 756
25.1.5 MySQL:Convert()函数 756
25.2 具体类型转换函数 757
25.2.1 Oracle:To_Char()函数 757
25.2.2 Oracle:To_Data()函数 757
25.2.3 Oracle:AscIIStr()函数 757
25.2.4 Oracle:Bin_to_num()函数 758
25.2.5 Oracle:CharToRowID()函数 758
25.2.6 Oracle:Compose()函数 759
25.2.7 Oracle:DeCompose()函数 759
25.2.8 Oracle:RowIDToChar()函数 760
25.2.9 Oracle:To_Number()函数 760
25.2.10 MySQL:Str_To_Date()函数 761
25.3 类型判断函数 761
25.3.1 SQL Server:IsDate()函数 761
25.3.2 SQL Server:IsNull()函数 762
25.3.3 SQL Server:IsNumeric()函数 762
25.3.4 SQL Server:NullIf()函数 763