解析Microsoft Sql Server中的like语句
使用 LIKE 的模式匹配
当搜索 datetime 值时,推荐使用 LIKE,因为 datetime 项可能包含各种日期部分。例如,如果将值 19981231 9:20 插入到名为 arrival_time 的列中,则子句 WHERE arrival_time = 9:20 将无法找到 9:20 字符串的精确匹配,因为 SQL Server 将其转换为 1900 年 1 月 1 日上午 9:20。然而,子句 WHERE arrival_time LIKE '%9:20%' 将找到匹配。
like支持 ASCII 模式匹配和 Unicode 模式匹配。当所有参数,包括 match_expression、pattern 和 escape_character(如果有)都是 ASCII 字符数据类型时,将执行 ASCII 模式匹配。如果其中任何参数属于 Unicode 数据类型,则所有参数将被转换为 Unicode 并执行 Unicode 模式匹配。当对 Unicode 数据(nchar 或 nvarchar 数据类型)使用 LIKE 时,尾随空格是有意义的。但是对于非 Unicode 数据,尾随空格没有意义。Unicode LIKE 与 SQL-92 标准兼容。ASCII LIKE 与 SQL Server 的早期版本兼容。
下面的一系列示例显示 ASCII LIKE 模式匹配与 Unicode LIKE 模式匹配所返回的行之间的差异:
-- ASCII pattern matching with char column
CREATE TABLE t (col1 char(30))
INSERT INTO t VALUES ('Robert King')
SELECT *
from t
WHERE col1 LIKE '% King' -- returns 1 row
-- Unicode pattern matching with nchar column
CREATE TABLE t (col1 nchar(30))
INSERT INTO t VALUES ('Robert King')
SELECT *
from t
WHERE col1 LIKE '% King' -- no rows returned
-- Unicode pattern matching with nchar column and RTRIM
CREATE TABLE t (col1 nchar (30))
INSERT INTO t VALUES ('Robert King')
SELECT *
from t
WHERE RTRIM(col1) LIKE '% King' -- returns 1 row
说明 如果使用 LIKE 进行字符串比较,模式字符串中的所有字符都有意义,包括起始空格或尾随空格。
使用 % 通配符
如果指定 LIKE '5%',SQL Server 将搜索后面带有零个或多个任意字符的数字 5。
例如,此查询将显示数据库中所有的系统表,因为它们都以字母 sys 开始:
SELECT TABLE_NAME
from INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'sys%'
说明 请注意:系统表可以随版本不同而更改。推荐使用信息架构视图或适用的存储过程处理 SQL Ser
相关文档:
课程五 子查询
本课重点:
1、在条件未知的情况下采用嵌套子查询
2、用子查询做数据处理
3、子查询排序
注意:以下实例中标点均为英文半角
一、概述:
子查询是一种SELECT句式中的高级特性,就是一个SELECT语句作为另一个语句的一个段。我们可以利用子查询来 ......
课程七 其他数据库对象
SEQUENCE
创建实例:
SQL> CREATE SEQUENCE s_dept_id
2 INCREMENT BY 1
3 START WITH 51
4 MAXVALUE 9999999
5 NOCACHE
6 NOCYCLE;
Sequence created.
1、NEXTVAL和CURRVAL的 ......
课程九 声明变量
本课重点:
1、了解基本的PLSQL块和区域
2、描述变量在PLSQL中的重要性
3、区别PLSQL与非PLSQL变量
4、声明变量
5、执行PLSQL块
注意:以下实例中标点均为英文半角
一、概述:
1、PLSQL 块结构:
DECLARE --- 可选
变量声 ......
课程十 写执行语句
本课重点:
1、了解PLSQL执行区间的重要性
2、写执行语句
3、描述嵌套块的规则
4、执行且测试PLSQL块
5、使用代码惯例
注意:以下实例中标点均为英文半角
一、PLSQL 块的语法规则:
1、语句可以跨跃几行。
2、词汇单元可以包 ......
最后一课 异常处理本章重点:
1、定义PLSQL异常
2、列举不同的异常处理方法
3、捕获非预期的错误
4、描述异常的影响
5、定制异常的返回信息 一、PLSQL异常处理
异常是由ORACLE错误或显式的抛出一个错误产生的。
如何处理:
用一个处理程序来捕获它;
将它传递 ......