首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

判断字符串中是否有子串解决方法

2012-01-09 
判断字符串中是否有子串判断字符串中是否有子串,另外必须是第一个位置开始[解决办法]CHARINDEX( 12 , 123

判断字符串中是否有子串
判断字符串中是否有子串,另外必须是第一个位置开始



[解决办法]
CHARINDEX( '12 ', '123 ')=1
[解决办法]
charindex()
[解决办法]
charindex( '子串 ', '字符串 ') = 1
[解决办法]
判断字符串中是否有子串,另外必须是第一个位置开始

1 where field like 'abc% '
2 where left(field,3)= 'abc '
3 where CHARINDEX( 'abc ',field)=1

[解决办法]
patindex
[解决办法]
CREATE TABLE T
(
NAME VARCHAR(100)
)

INSERT INTO T
SELECT '123456 ' UNION ALL
SELECT '7891256 ' UNION ALL
SELECT '41256 ' UNION ALL
SELECT '4785 '

SELECT * FROM T
WHERE PATINDEX( '%12% ',NAME)> =1


NAME
----------------------------------------------------------------
123456
7891256
41256

(3 row(s) affected)


[解决办法]
PATINDEX like 两者效率谁高啊
[解决办法]
charindex() 和 patindex()也不知哪個 效率高

但有一點,charindex()不能用於text數據類型
而 patindex()可以的
所以呢,還是使用patindex()比較好
[解决办法]
100分,我也来
patindex( '%12% ', '123 ')

[解决办法]
CHARINDEX ( expression1 , expression2 [ , start_location ] )

参数
expression1

一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。

expression2

一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。

start_location

在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。

[解决办法]
charindex( '子串 ', '字符串 ') = 1

热点排行
Bad Request.