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;