zoukankan      html  css  js  c++  java
  • SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数

    一、SQLServer中的CHARINDEX() 和ORACLE中的INSTR()函数

      1、INSTR(C1,C2[,I[,J]])

      【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

      【说明】多字节符(汉字、全角符等),按1个字符计算

      【参数】 C1 被搜索的字符串

                C2 希望搜索的字符串

                I 搜索的开始位置,默认为1

                J 第J次出现的位置,默认为1

      【返回】数值

      【示例】

       select instr('abcdefgc','c',1,2) from dual;

        返回:8

      2、CHARINDEX(C1,C2[,I])

      【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

      【说明】多字节符(汉字、全角符等),按1个字符计算

      【参数】C1希望搜索的字符串

                C2被搜索的字符串

                 I 搜索的开始位置,默认为1

      【返回值】数值

      【实例】

      select charindex('c','abcdefgc',4)

        返回:8

       【总结】需要注意的地方是虽然INSTRCHARINDEX函数实现的功能相同,但C1,C2表示的意思完全相反,而且INSTR的功能更强大,可以查找第J次出现的位置。

    二、SQLServer/MySQL中的SUBSTRING()  和ORACLE中的SUBSTR()函数

      功能:返回字符、二进制、文本或图像表达式的一部分

      语法:SUBSTRING ( expression, start, length )

                 SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:

        •   MySQL: SUBSTR(), SUBSTRING()
        •   Oracle: SUBSTR()
        •   SQL Server: SUBSTRING()

      参数:

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

        start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。

        length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。
      返回值:

        如果 expression 是一种支持的字符数据类型,则返回字符数据。如果 expression 是一种支持的二进制数据类型,则返回二进制数据。如果 start = 1,则子字符串从表达式的第一个字符开始。

        返回字符串的类型与给定表达式的类型相同(下表所示内容除外)。

      示例:

        select SUBSTRING(displayname,3,len(displayname) from table where len(displayname)>3;--SQLServer

        select SUBSTR(displayname,3,length(displayname) from table where length(displayname)>3;--ORACLE

    http://www.cnblogs.com/ivan0626/p/3664548.html

    http://www.cnblogs.com/xionglee/articles/1444927.html

  • 相关阅读:
    Robot Framework-取出接口返回的字段
    利用VBA宏批量解决Word中图片大小、居中设置
    封装和继承
    Shiro的学习
    Redis集群搭建
    Mysql主从架构
    idea修改maven的默认配置不生效
    Mybatis笔记
    【python】文件的读写方法(r;r+;rb;w;w+;wb;a;a+;ab)
    【Python】Xpath语法&示例
  • 原文地址:https://www.cnblogs.com/zhaoyhBlog/p/6112254.html
Copyright © 2011-2022 走看看