SQL server 的使用中的subString() 和 charIndex() 实现筛选 某个字段的部分数据

subString():

 

SUBSTRING ( expression , start , length )

参数
expression

是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。

start

是一个整数,指定子串的开始位置。

length

是一个整数,指定子串的长度(要返回的字符数或字节数)。

 

charIndex():

SQL CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。

CHARINDEX函数调用方法如下:

CHARINDEX ( expression1 , expression2 [ , start_location ] )

Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

 

 

两个结合 就可以查询出 数据库中指定某个字段的一部分数据 组成的集合

 

SELECT SUBSTRING(PageUrl,0,CHARINDEX('.com',PageUrl,0)) PageUrl FROM dbo.N_Order_Product;

 

 

这个就实现了这个需求:

有指定的url字段若干个 27个 要找出这个url来源的订单,但是url来源前半部分是一样的,后半部分都会有一个random=*****的一系列东西,所以查询出来的不考虑这个url中的random部分,所以要将url这一列数据去掉random后面的部分 然后在做in(要查找的集合) 即可以实现查找数据统计的功能。

 

SELECT TOP 100 *,  SUBSTRING(SourceUrl,0,CHARINDEX('&random',SourceUrl,0)) PageUrl FROM dbo.N_Order_Source ORDER BY ID DESC;

 

posted @ 2017-09-20 14:47  乔胖胖  阅读(1605)  评论(0编辑  收藏  举报