|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于insert操作,只需要把event_type改成DELETE_ROWS_EVENT;对于delete操作,改成WRITE_ROWS_EVENTSQLServer2005联机丛书(2007年9月)
PATINDEX(Transact-SQL)
前往指定表达式中某形式第一次呈现的肇端地位;假如在全体无效的文本和字符数据范例中没有找到该形式,则前往零。有关具体信息,请参阅搜刮前提中的形式婚配。
Transact-SQL语法商定
语法
PATINDEX(%pattern%,expression)
参数
pattern
一个笔墨字符串。可使用通配符,但pattern之前和以后必需有%字符(搜刮第一个或最初一个字符时除外)。pattern是字符串数据范例种别的表达式。
expression
一个表达式,一般为要在个中搜刮指定形式的列,expression为字符串数据范例种别。
前往范例
假如expression的数据范例为varchar(max)或nvarchar(max),则为bigint,不然为int。
备注
假如pattern或expression为NULL,则当数据库的兼容级别为70时,PATINDEX将前往NULL;假如数据库兼容级别小于或即是65,则仅当pattern和expression同时为NULL时,PATINDEX才前往NULL。
PATINDEX基于输出的排序划定规矩实行对照。若要以指定排序划定规矩举行对照,则可使用COLLATE将显式排序划定规矩使用于输出值。
示例
A.在PATINDEX中利用形式
以下示例查找形式ensure在Document表的DocumentSummary列的某一特定行中的入手下手地位。
复制代码
USEAdventureWorks;
GO
SELECTPATINDEX(%ensure%,DocumentSummary)
FROMProduction.Document
WHEREDocumentID=3;
GO
上面是了局集:
复制代码
-----------
64
(1row(s)affected)
假如未利用WHERE子句限定要搜刮的行,查询将前往表中的一切行,对在个中找到该形式的行呈报非零值,对未在个中找到该形式的行呈报零值。
B.在PATINDEX中利用通配符
以下示例利用通配符查找形式en_ure在Document表中DocumentSummary列的某一特定行中的入手下手地位,个中下划线为代表任何字符的通配符。
复制代码
USEAdventureWorks;
GO
SELECTPATINDEX(%en_ure%,DocumentSummary)
FROMProduction.Document
WHEREDocumentID=3;
GO
上面是了局集:
复制代码
------------
64
(1row(s)affected)
假如没无限制要搜刮的行,查询将前往表中的一切行,对在个中找到该形式的一切行呈报非零值。
C.在PATINDEX中利用COLLATE
以下示例利用COLLATE函数显式指定要搜刮的表达式的排序划定规矩。
复制代码
USEtempdb;
GO
SELECTPATINDEX(%ein%,DasisteinTestCOLLATELatin1_General_BIN);
GO
闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。 |
|