• 常用数据库字符串处理函数举例


    1、字符串拼接函数

      MySQL:select concat('123','456');    可以链接多个字符串。其中只要一个为null,则结果为null。

      SQLServer:select '123'+'456';  

      Oracle:select '123'||'456' from dual;  可链接多个。  select concat('123','456') from dual;只能链接两个,只要有一个不为null,则结果就不为null。

      MySQL:concat_ws(分隔符,字符串1,字符串2,...)函数, 表示concat with separator,即有分隔符的字符串连接。

    2、字符串截取函数

      SQLServer:SUBSTRING(string,start_position,length)   需要注意的是这里的start_position是从1开始,不同于数组是从0开始。

      Oracle:substr( string, start_position, [ length ] )   substr('目标字符串',开始位置,长度),从1开始。写成0的话效果同1。

      MySQL:left(str, length); right(str, length); substring(str, pos); substring(str, pos, len);  select substring_index('www.example.com', '.', 2); 截取第二个 '.' 之前的所有字符。得到 'www.example'。subString起始位为1,如果写为0,返回空白字符串。

    3、字符串查找函数

      MySQL:INSTR(str,substr); 返回子串substr在字符串str中的第一个出现的位置。

          select INSTR('foobarbar', 'bar');

          -> 4
          select INSTR('xbar', 'foobar');
          -> 0

      SQLServer:CHARINDEX ( expression1 , expression2 [ , start_location ] ); Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

      Oracle:INSTR(源字符串, 目标字符串, [起始位置], [匹配序号]); 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。

    4、判空函数

      Oracle:NVL( string1, replace_with);  如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。NVL2(expr1,expr2,expr3);  如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。

      MySQL,SQLServer:IFNULL(expr1,expr2); 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。

  • 相关阅读:
    ckeditor 实现图片上传以及预览(亲测有效)
    学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)
    学习OpenStack之 (1):安装devstack
    学习OpenStack之 (0):基础知识
    Aho-Corasick 多模式匹配算法、AC自动机详解
    标准C++中的string类的用法总结
    STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)
    linux下文件合并、分割、去重
    设计模式之观察者模式(Observable与Observer)
    访问者模式讨论篇:java的动态绑定与双分派
  • 原文地址:https://www.cnblogs.com/moleme/p/4934542.html
Copyright © 2020-2023  润新知