zoukankan      html  css  js  c++  java
  • MSSQLSERVER- CharIndex的妙用,找出有妙用

    CharIndex

    1:CharIndex语法: CharIndex(expression1,expression2[,start_location])

    2:参数 expression1 一个表达式,其中包含要查找的字符的序列。expression1是一个字符串数据类别的表达式。 expression2 一个表达式,通常是一个为指定序列搜索的列。expression2属于字符串数据类别. start_location 开始在expression2中搜索expression1时的字符位置。如果start_location未被指定、是一个负数或零,则将从espression2的开头开始搜索。start_location可以是bigint类型。

    3:返回类型如果expression2的数据类型为varchar(max),nvarchar(max)或varbinnary(max),则为bigint,否则为int。

    4:备注如果在expression2内找不到expression1,则charindex返回0. charindex将根据输入的排序规则执行比较操作。若要以指定排序规则进行比较,则可以使用collate将显式排序规则应用于输入值。返回的开始位置从1开始,而非从0开始。

    5:例子

    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.备注

    必须以字符数指定使用ntext、char或varchar数据类型的偏移量(start和length)。必须以字节数指定使用text、image、binary或varbinary等数据类型的偏移量。

    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

    SubString和CharIndex结合使用
    select substring('A,B,C,D',0,charindex(',','A,B,C,D',0))

    整数除整数后,如果最后是整数,说明数据正确,找出错误的数据(找出有小数点的数据)

    SELECT PMX.DJBH,SP.SPDM,PD.BYZD7,PMX.SL,SP.CUST_SPBZGG,CONVERT(FLOAT,PMX.SL)/CONVERT(FLOAT,SP.CUST_SPBZGG)
    ,CHARINDEX('.',CONVERT(NVARCHAR(60),CONVERT(FLOAT,PMX.SL)/CONVERT(FLOAT,SP.CUST_SPBZGG)),0)
    FROM pfjrdmx PMX    
    LEFT JOIN PFJRD PD ON PMX.DJBH = PD.DJBH
    LEFT JOIN dbo.SHANGPIN SP ON PMX.SPDM = SP.SPDM 
    WHERE PD.BYZD7 = '004' AND SP.CUST_SPBZGG!=1
    --AND CHARINDEX('.',CONVERT(NVARCHAR(60),CONVERT(FLOAT,PMX.SL)/CONVERT(FLOAT,SP.CUST_SPBZGG)),0)>0
    AND CHARINDEX('.',CONVERT(NVARCHAR(60),CONVERT(FLOAT,PMX.SL)/CONVERT(FLOAT,SP.CUST_SPBZGG)),0)!='0'
  • 相关阅读:
    JavaScript中的数据类型转换
    JavaScript中的变量
    set_uid set_gid stick_bit 软硬链接
    chmod、chown、umask、lsattr/chattr
    环境变量、cp、mv、cat 等命令
    相对和绝对路径 mkdir cd rm 等命令
    linux 系统 目录,以部分及相关命令
    单用户模式 和救援模式 、以及相互登陆(免密)
    putty 、xshell的使用 和 putty 、xshell、 shell 间免密登陆
    vmware NAT 网络出现问题的解决方法
  • 原文地址:https://www.cnblogs.com/cxeye/p/4310196.html
Copyright © 2011-2022 走看看