在VB程序中可以用split函数检索所需要的字符串,在Transact-SQL中可以用CHARINDEX 函数在指定字符串中检索需要的字符串。
示例:
declare @s varchar(1000)
declare @t varchar(1000)
set @s='"GL","AAA","04/01/2008","001:02:37","0","C","CLOAM","CLOA","C","","A","D","0800-000-410104","0800-000-410100",240340,"000025","M-25-080204-08","090","M","4685.00","4660.00","M-DQ102-066","","","",""'
set @t='"CLOA"'
select LEFT(RIGHT(@S,LEN(@S)-CHARINDEX(@t,@S)+1),len(@t))
其中
select CHARINDEX(@t,@S)
语句检索@t字符串在@s中第一次出现的位置。
注:以下内容来至SQL SERVER2005联机丛书。在博客中复制下来为了记忆而已。
CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置。PATINDEX 可以使用通配符,而 CHARINDEX 不能。
这两个函数都带有两个参数:
希望获取其位置的模式。使用 PATINDEX,模式是可以包含通配符的文字字符串。使用 CHARINDEX,模式是不包含通配符的文字字符串。
字符串值表达式(通常为列名),SQL Server 2005 在其中搜索指定的模式。
一、语法
PATINDEX ( '%pattern%' , expression )
备注
如果 pattern 或 expression 为 NULL,则当数据库的兼容级别为 70 时,PATINDEX 将返回 NULL;如果数据库兼容级别小于或等于 65,则仅当 pattern 和 expression 同时为 NULL 时,PATINDEX 才返回 NULL。
PATINDEX 基于输入的排序规则执行比较。若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入值。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com