`

常用的字符串函数:

阅读更多

常用的字符串函数:

SQL> select instr('Hello World!','o',1,1),instr('Hello World!','o',1,2),instr('Hello World!','o',6,2) from dual;
INSTR('HELLOWORLD!','O',1,1) INSTR('HELLOWORLD!','O',1,2) INSTR('HELLOWORLD!','O',6,2)
---------------------------- ---------------------------- ----------------------------
                           5                            8                            0


SQL> select substr('Hello World!',1,4),substr('Hello World!',3,4) from dual;
SUBSTR('HELLOWORLD!',1,4) SUBSTR('HELLOWORLD!',3,4)
------------------------- -------------------------
Hell                      llo


SQL> SELECT TRANSLATE('as f as f as bbdd', ' afb', '*?@') FROM DUAL;
TRANSLATE('ASFASFASBBDD','AFB'
------------------------------PS:每个字符匹配替换
?s*@*?s*@*?s*dd


SQL> SELECT REPLACE('as f af af as', 'af', 't') FROM DUAL;
REPLACE('ASFAFAFAS','AF','T')
-----------------------------PS:字符串匹配替换
as f t t as


SQL> select lpad('aaa',10,'#') from dual;
LPAD('AAA',10,'#')(默认为空格)
------------------
#######aaa
 
SQL> select rpad('aaa',10,'#') from dual;
RPAD('AAA',10,'#')(默认为空格)
------------------
aaa#######

ltrim(字符串1,字符串2) 和rtrim(字符串1,字符串2)
PS:从字符串1的左端开始扫描,逐一去掉在字符串2中出现的字符,当遇到不是字符串2中的字符终止,返回结果集.

SQL> select ltrim('morning','m'),ltrim('morning','or') from dual;
LTRIM('MORNING','M') LTRIM('MORNING','OR')
-------------------- ---------------------
orning               morning
 
SQL> select rtrim('morning','m'),rtrim('morning','ng') from dual;
RTRIM('MORNING','M') RTRIM('MORNING','NG')
-------------------- ---------------------
morning              morni

SQL> select trim('a' from 'abcaa') from dual;
TRIM('A'FROM'ABCAA')
--------------------PS:截取的字符集(蓝色部分)只能为一个字符
bc


SQL> select initcap('huang-kai-bin') from dual;
INITCAP('HUANG-KAI-BIN')
------------------------
Huang-Kai-Bin

SQL> select length('hello world') from dual;
LENGTH('HELLOWORLD')
--------------------
                  11


SQL> select upper('Hello World') from dual;
UPPER('HELLOWORLD')
-------------------
HELLO WORLD
 
SQL> select lower('Hello World') from dual;
LOWER('HELLOWORLD')
-------------------
hello world


SQL> select concat('Hello',' World') from dual;
CONCAT('HELLO','WORLD')
-----------------------ps:效果和字符串连接符 || 相同
Hello World



写了一个简单的过程,把一个分段记录插入表中:
    在这个过程中,用到了两个字符串的函数:
     1.SUBSTR(目标字符串,输出的子串的起点,子串的长度)
     如:select  substr(ssn,1,3)|| ','||substr(ssn,4,2)||','||substr(ssn,6,4);
             输出:         ssn                                          ssn
                       300541117            变成              300-54-1117
     2.INSTR(目标字符串,匹配的内容,搜索起点,第几个满足条件)
     如:select lastname,instr(lastname,'o',2,1) from characters;
              输出:       lastname                        instr(lastname,'o',2,1)
                              purvis                            0
                              kong                             2


create or replace procedure p_hyj_hkb_test is
  v_in_string  varchar2(10000);
  v_post       number(4);
  v_out_string varchar2(5000);
  v_cn         number(1);
  create_table varchar2(500);
  v_name       varchar2(20);
  v_age        number(2);
  v_address    varchar2(100);
  i            number(2);
  v_in_string2 varchar2(10000);
  --v_post2      number(4);

begin
  begin
    select count(*)
      into v_cn
      from user_tables a
     where a.table_name = 'USER_INFO';
    if v_cn = 0 then
      --表不存在,建立
      create_table := 'create table user_info(name varchar2(15),
                           age number(6),
                           address varchar2(100))';
      execute immediate create_table;
   
    else
      --表存在
      null;
    end if;
  end;
  begin
 
    --把串'黄开彬,25,福建省福州市闽清,'写到一个表里,字段要按user_name,age,address这三个字段来保存
 
    v_in_string := '黄开彬,25,福建省福州市闽清县;黄依江,30,福建省福州市;小黄,35,福建省垃圾的;';
 
    while instr(v_in_string, ';', 1) > 0 loop
      if v_in_string is null then
        goto end_loop;
      end if;
      v_post       := instr(v_in_string, ';', 1);
      v_in_string2 := substr(v_in_string, 1, v_post - 1)||',';
      v_in_string  := substr(v_in_string, v_post + 1);
      i            := 1;
      while instr(v_in_string2, ',', 1) > 0 loop
        if v_in_string2 is null then
          goto end_loop;
        end if;
     
        v_post       := instr(v_in_string2, ',', 1);
        v_out_string := substr(v_in_string2, 1, v_post - 1);
        v_in_string2 := substr(v_in_string2, v_post + 1);
        if i = 1 then
          v_name := v_out_string;
        elsif i = 2 then
          v_age := v_out_string;
        elsif i = 3 then
          v_address := v_out_string;
        end if;
        i := i + 1;
      end loop;
       --插入表
    begin
      -- insert into user_info values (v_name, v_age, v_address);
      create_table := 'insert into user_info values(' || '''' || v_name || '''' || ',' || '''' ||
                      v_age || '''' || ',' || '''' || v_address || '''' || ')';
      execute immediate create_table;
    end;
    end loop;
  
 
  end;
  <<end_loop>>
  null;
end p_hyj_hkb_test;

分享到:
评论

相关推荐

    PHP常用字符串函数用法实例总结

    本文将详细介绍PHP中一些常用字符串函数的使用方法,并通过实例进行解释。 1. 字符串分割函数:explode() 和 implode() explode() 函数可以将一个字符串按照指定的分隔符分割成数组。例如,可以将字符串 "a,b,c,d" ...

    java常用字符串函数集锦

    Java 中常用的字符串函数集锦 Java 中字符串是连串的字符,但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java 将字符串作为 String 类型对象来处理。将字符串作为内置的对象处理允许 Java 提供十分...

    Oracle_Sql_中常用字符串处理函数

    下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换函数:UPPER() 和 LOWER()。UPPER() 函数将字符串转换为大写,而 LOWER() 函数将字符串转换为小写。 示例:...

    pb函数库之字符串操作函数

    下面是pb函数库中的一些常用字符串操作函数: 1. Fill()函数:Fill()函数可以建立一个由指定字符串填充的指定长度的字符串。其语法为Fill(chars, n),其中chars是指定用于重复填充的字符串,n是指定由该函数返回的...

    mysql常用字符串函数、字符串处理函数大全

    MySQL字符串函数是数据库操作中非常关键的一部分,它们用于处理和操作文本数据。以下是一些常见的MySQL字符串函数及其详细解释: 1. `ASCII(str)`:这个函数返回字符串`str`的第一个字符的ASCII码值。如果`str`为空...

    常用C#字符串函数大全

    常用C#字符串函数大全-转化类函数,字符累函数,日期转换圂各种函数。

    VB字符串处理函数_字符串处理函数_VB_

    本资料主要汇总了VB中的常用字符串处理函数,适用于初学者学习和参考。 1. **Left()** 函数:返回字符串的左部指定长度的部分。例如,`Left("Hello World", 3)` 返回 "Hel"。 2. **Right()** 函数:与Left()相反,...

    Visual Basic中的常用字符串函数

    ### Visual Basic中的常用字符串函数 在Visual Basic编程语言中,字符串处理是非常常见且重要的操作之一。本文将详细介绍Visual Basic中的一些常用字符串函数及其用法,这些函数能够帮助开发者高效地处理字符串数据...

    常用字符串处理函数

    以下是一些常用的字符串处理函数的详细解释: 1. **stpcpy**: 这个函数用于将源字符串`source`复制到目标字符串`destin`中,函数返回的是目标字符串的结束字符的指针。这意味着它不仅拷贝了字符串,还自动添加了...

    vb 字符串函数大全

    #### 二、常用字符串函数详解 ##### 1. Asc(string) **功能**: 返回字符串中第一个字符的ASCII码值。 **语法**: `Asc(string)` **参数**: - `string`: 要查询其ASCII码值的字符串。 **示例**: 如果`string = ...

    MySql常用字符串函数

    下面将详细介绍这些常用的字符串函数: 1. **CONCAT(str1, str2,...)**:此函数用于连接两个或多个字符串,形成一个新字符串。例如,`CONCAT('Hello',' ','World')`将返回 `'Hello World'`。 2. **LENGTH(str)**:...

    delphi 字符串函数大全

    ### Delphi字符串函数详解 Delphi作为一种广泛使用的编程语言,为开发者提供了丰富的字符串处理功能,尤其是在`StrUtils`单元中,包含了大量实用的字符串函数,极大地简化了字符串操作的复杂度。下面,我们将深入...

    C语言字符串函数大全(包含示例)

    C语言字符串函数大全 C语言字符串函数大全是指C语言中用于处理字符串的函数集合。这些函数可以对字符串进行各种操作,如拷贝、拼接、查找、比较等。 1. stpcpy函数: stpcpy函数的作用是将一个字符串拷贝到另一个...

    SQL常用字符串函数

    根据提供的文件信息,我们可以整理出关于SQL中常用的字符串函数的相关知识点。这些函数广泛应用于数据库查询、数据处理等场景,能够帮助我们高效地管理和操作文本数据。 ### 1. ASCII() **功能**: 将一个字符转换...

    C#字符串函数大全-很有用的

    以下是一些C#中常用的字符串函数的详细说明: 1. **Len** 函数:此函数用于计算字符串中字符的数量。例如,`Len("VBSCRIPT")` 返回8,因为"VBSCRIPT"包含8个字符。 2. **Trim, Ltrim, Rtrim** 函数:这三个函数...

    JavaScript字符串函数大全

    ### JavaScript字符串函数大全 #### 1. Asc(x) - **功能**:返回字符的ASCII码。 - **参数**: - `x`:需要转换为ASCII码的单个字符。 - **示例**: ```javascript console.log(Asc('A')); // 输出:65 ``` #...

    常用oracle字符串操作函数

    本文将深入探讨Oracle中的常用字符串操作函数,帮助你更好地理解和运用这些功能。 1. **LENGTH()** 函数: 这个函数用于返回字符串的长度,不包括结束的空字符。例如,`LENGTH('Hello')` 将返回5。 2. **SUBSTR()...

    Delphi 字符串截取函数

    本文将详细介绍Delphi中几种常用的字符串截取函数及其应用示例,帮助开发者更深入地理解和掌握这些功能。 #### 1. LeftStr, RightStr, MidStr:精确控制字符串截取 - **LeftStr**:从字符串左侧开始截取指定长度的...

Global site tag (gtag.js) - Google Analytics