仓酷云

标题: ASP网页编程之SQL Server CHARINDEX和PATINDEX详解 [打印本页]

作者: 海妖    时间: 2015-1-16 22:45
标题: ASP网页编程之SQL Server CHARINDEX和PATINDEX详解
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。server|详解SQLServerCHARINDEX和PATINDEX详解
假设你写过良多程序,你大概偶然会碰着要断定字符或字符窜串否包括在一段笔墨中,在这篇文章中,我将会商利用CHARINDEX和PATINDEX函数来搜刮笔墨列和字符串。我将告知你这两个函数是怎样运转的,注释他们的区分。同时供应一些例子,经由过程这些例子,你能够能够思索利用这两个函数来办理良多分歧的字符搜刮的成绩。
CHARINDEX和PATINDEX函数经常用来在一段字符中搜刮字符大概字符串。假如被搜刮的字符中包括有要搜刮的字符,那末这两个函数前往一个非零的整数,这个整数是要搜刮的字符在被搜刮的字符中的入手下手位数。PATINDEX函数撑持利用通配符来举行搜刮,但是CHARINDEX不撑持通佩符。接上去,我们逐一剖析这两个函数。
怎样利用CHARINDEX函数
CHARINDEX函数前往字符大概字符串在另外一个字符串中的肇端地位。CHARINDEX函数挪用办法以下:
CHARINDEX(expression1,expression2[,start_location])
Expression1是要到expression2中寻觅的字符中,start_location是CHARINDEX函数入手下手在expression2中找expression1的地位。
CHARINDEX函数前往一个整数,前往的整数是要找的字符串在被找的字符串中的地位。假设CHARINDEX没有找到要找的字符串,那末函数整数“0”。让我们看看上面的函数命令实行的了局:
CHARINDEX(SQL,MicrosoftSQLServer)
这个函数命令将前往在“MicrosoftSQLServer”中“SQL”的肇端地位,在这个例子中,CHARINDEX函数将前往“S”在“MicrosoftSQLServer”中的地位11。
接上去,我们看这个CHARINDEX命令:
CHARINDEX(7.0,MicrosoftSQLServer2000)
在这个例子中,CHARINDEX前往零,由于字符串“7.0”不克不及在“MicrosoftSQLServer”中被找到。接上去经由过程两个例子来看看怎样利用CHARINDEX函数来办理实践的T-SQL成绩。
第一个例子,假定你要显现Northwind数据库Customer表前5行接洽人列的LastName。这是前5行数据
ContactName
------------------------------
MariaAnders
AnaTrujillo
AntonioMoreno
ThomasHardy
ChristinaBerglund
你能够看到,CustomName包括客户的FirstName和LastName,它们之间被一个空格离隔。我用CHARINDX函数断定两个名字两头空格的地位。经由过程这个办法,我们能够剖析ContactName列的空格地位,如许我们能够只显现这个列的lastname部分。这是显现Northwind的Customer表前5行lastname的纪录!
selecttop5substring(ContactName,charindex(,ContactName)+1,
len(ContactName))as[LastName]fromNorthwind.dbo.customers
上面是这个命令输入的了局。
LastName
------------------------------
Anders
Trujillo
Moreno
Hardy
Berglund
CHARINDEX函数找到FirstName和LastName之间的空格,以是SUBSTRING函数能够分隔ContactName列,如许就只要LastName被选出。我在CHARINDEX函数前往的整数上加1,如许LastName不是从空格入手下手。
在第二个例子中,即如说你要盘算纪录中,某一个字段包括特定字符的一切纪录数。CHARINDEX函数能够便利的办理你的成绩。盘算Northwind.dbo.Customer表中Addresses字段中包括单词Road大概它的缩写Rd的纪录数,选择语句相似如许:
SELECTcount(*)fromNorthwind.dbo.Customers
WHERECHARINDEX(Rd,Address)>0orCHARINDEX(Road,Address)>1
怎样利用PATINDEX函数
PATINDEX函数前往字符大概字符串在另外一个字符串大概表达式中的肇端地位,PATINDEX函数撑持搜刮字符串中利用通配符,这使PATINDEX函数关于变更的搜刮字符串很有代价。PATINDEX函数的命令以下:
PATINDEX(%pattern%,expression)
Pattern是你要搜刮的字符串,expression是被搜刮的字符串。一样平常情形下expression是一个表中的一个字段,pattern的前后必要用“%”标志,除非你搜刮的字符串在被压缩的字符串的最后面大概最初面。
和CHARINDEX函数一样,PATINDEX函数前往搜刮字符串在被搜刮字符串中的肇端地位。假设有如许一个PATINDEX函数:
PATINDEX(%BC%,ABCD)
这个PATINDEX函数前往的了局是2,这和CHARINDEX函数一样。这里的%标志告知PATINDEX函数往找字符串“BC”,不论被搜刮的字符串中在“BC”的前后有几字符!
假设你想晓得被搜刮字符串是不是由特定的字符串入手下手,你能够省往后面的%标志。PATINDED函数就要如许写:
PATINDEX(AB%,ABCD)
这个命令实行的了局前往1,暗示搜刮的字符串“AB”在被搜刮的字符串中“ABCD”被找到。
利用通配符能够编纂比我以上举得复杂例子庞大很多的搜刮字符串。假设说你要断定一个字符串是不是包括字母A和Z,另有任何数字,这个PARINDEX函数命令大概像如许:
</p>ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!
作者: 不帅    时间: 2015-1-19 22:30
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 再现理想    时间: 2015-1-26 19:54
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 小妖女    时间: 2015-2-4 20:15
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 谁可相欹    时间: 2015-2-10 06:11
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
作者: 第二个灵魂    时间: 2015-2-28 22:36
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 若相依    时间: 2015-3-10 09:04
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 再见西城    时间: 2015-3-17 06:11
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者: 老尸    时间: 2015-3-23 23:20
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2