• SQL中拆分字符串substr及统计字符出现频数replace用法实例讲解


    一、拆分字符串为若干行

    例一:要求将表emp中的'king'按照每行一个单词拆成四行

    注意:substr(str,pos):截取pos位置开始的字符;

            substr(str,pos,len):从pos位置开始,选出接下去的len个字符

    表emp:

    eid  ename
    1 ring
    2 king
    3 ting
    4 ping

    首先,建立表tmp(基干表,为了配合表一使用):

    tid
    1
    2
    3
    4
    5

    然后,select emp.ename,tmp.tid from emp,tmp where emp.ename=‘king’;/*没有主键和外键,生成king的笛卡尔集/

    ename tid

    king    1
    king    2
    king    3
    king    4
    king    5
    最后:select substr (ename,tid,1) as a from (select emp.ename,tmp.tid from emp,tmp where emp.ename=‘king’) as e where e.tid <= length(e.ename);

    结果:

    a:

    k

    i

    n

    g

    若select substr (ename,tid) as b, substr(ename,length(ename)-tid+1).......结果将会出现

    b     c

    king g

    ing   ng

    ng    ing

    g      king

    二、计算字符在字符串中出现的次数

    replace函数:replace(要搜索的字符串表达式,要查找的字符串,替换字符串)

    例二:计算10,clark,manager中逗号的个数

    select (length('10,clark,manager')-length(replace('10,clark,manager',',',''))/length(',')) as c from tablename;

  • 相关阅读:
    C#获取屏幕鼠标所指点的颜色
    C#连接SQLServer数据库基本实现
    论文摘要写法
    红黑树
    递归、迭代和分治法
    逻辑右/左移与算术右/左移
    C 中数字数据类型在不同机器上所占字节数
    十进制转十六进制
    c带头结点的单链表逆置
    求一维数组长度误区
  • 原文地址:https://www.cnblogs.com/smallcrystal/p/5005067.html
Copyright © 2020-2023  润新知