zoukankan      html  css  js  c++  java
  • SqlServer中SubString与CharIndex函数的使用

    一、CHARINDEX

    1:CHARINDEX语法:

        CHARINDEX ( expression1 ,expression2 [ , start_location ] )

    2:参数

        expression1

    一个表达式,其中包含要查找的字符的序列。expression1 是一个字符串数据类别的表达式。

      expression2

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

      start_location

    开始在 expression2 中搜索 expression1 时的字符位置。如果 start_location 未被指定、是一个负数或零,则将从 expression2 的开头开始搜索start_location 可以是 bigint 类型。

    3:返回类型

    如果 expression2 的数据类型为 varchar(max)nvarchar(max)varbinary(max),则为 bigint,否则为 int

    4:备注

    如果在 expression2 内找不到 expression1,则 CHARINDEX 返回 0

    CHARINDEX 将根据输入的排序规则执行比较操作。若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入值。

    返回的开始位置从 1 开始,而非从 0 开始。

    4:例子

    select charindex('A','BADF',1)  :2

    select charindex('A','BADF',0)  :2

    select charindex('A','BADF',2)  :2

    select charindex('A','BADF',3)  :0

    select charindex('G','BADF',3)  :0

     

    二、SUBSTRING

    1、语法

    SUBSTRING ( expression ,start , length )

    2、参数

    expression

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

    start

    指定子字符串开始位置的整数。start 可以为 bigint 类型。

    length

    一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。

    3、备注

    必须以字符数指定使用 ntextcharvarchar 数据类型的偏移量(startlength)。必须以字节数指定使用 textimagebinaryvarbinary 等数据类型的偏移量。

    4、例子:

    select substring('GXS',-1,3) :G

    select substring('GXS',-1,2) :NULL

    select substring('GXS',0,1)  :NULL

    select substring('GXS',1,1)  :G

    select substring('GXS',1,2)  :GX

  • 相关阅读:
    MFC半透明对话框
    关于.h .lib .dll的总结
    C# 调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配
    LeetCode——011 Container With Most Water
    《Effective C++》——读书笔记
    《More Effective C++》——读书笔记
    Chrome插件推荐
    LeetCode——004-Median-of-Two-Sorted-Arrays
    《STL源码剖析》——第七、八章:仿函数与接配器
    《STL源码剖析》——第五、六:关联容器与算法
  • 原文地址:https://www.cnblogs.com/smallstone/p/1729031.html
Copyright © 2011-2022 走看看