当前位置:数据库 > SQL语言> 正文

SQL charindex怎么用

时间:2013-8-6类别:数据库

SQL charindex怎么用

SQL charindex怎么用

CHARINDEX含义
表示返回字符串中指定表达式的起始位置。


语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )


参数

expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。

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


返回类型
SQL CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如SQL CHARINDEX函数没有找到要找的字符串,那么函数整数“0”。

SQL CHARINDEX注意事项
如果 expression1 或 expression2 之一属于 Unicode 数据类型(nvarchar 或 nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。


如果 expression1 或 expression2 之一为 NULL 值,则当数据库兼容级别为 70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在 expression1 和 expression2 都为 NULL 时返回 NULL 值。


如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。

SQL CHARINDEX示例

  •  
  • SQL 代码   复制
  • 
    --返回序列"wonderful"在 titles 表的 notes 列中开始的位置。
    USE pubs 
    GO 
    SELECT CHARINDEX(’wonderful’, notes) 
    FROM titles 
    WHERE title_id = ’TC3218’ 
    GO 
    
    --使用可选的 start_location 参数从 notes 列的第五个字符开始寻找"wonderful"。
    USE pubs 
    GO 
    SELECT CHARINDEX(’wonderful’, notes, 5) 
    FROM titles 
    WHERE title_id = ’TC3218’ 
    GO 
    
    --下面是第一个查询和第二个查询的结果集: 
    ----------- 
    46           
    (1 row(s) affected) 
    
    --显示了当 expression2 内找不到 expression1 时的结果集。 
    USE pubs 
    GO 
    SELECT CHARINDEX(’wondrous’, notes) 
    FROM titles 
    WHERE title_id=’TC3218’ 
    GO 
    
    --下面是结果集。 
    
    ----------- 
    0         
    		
  •  

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐