Oracle函数之字符串函数

1.SQL> select ASCII(‘a‘),ASCII(‘A‘),CHR(97) from dual; --ASCLL(x)返回x的ASCLL码,CHR(x)返回ASCLL码为x的字符
ASCII(‘A‘) ASCII(‘A‘) CHR(97)
---------- ---------- -------
        97         65 a

2.SQL> SELECT NAME,INSTR(NAME,‘Science‘) FROM PRODUCTS WHERE PRODUCT_ID=1;  --显示字符串Science出现的位置
NAME                           INSTR(NAME,‘SCIENCE‘)
------------------------------ ---------------------
Modern Science                                     8

3.SQL>  SELECT NAME,INSTR(NAME,‘e‘,1,2) FROM PRODUCTS WHERE NAME LIKE‘%e%e%‘;  --1表示从第1个字符开始,2表示出现次数2次
NAME                           INSTR(NAME,‘E‘,1,2)
------------------------------ -------------------
Modern Science                                  11
2412: The Return                                12
Space Force 9                                   11
From Another Planet                             18
Creative Yell                                    8

4.SQL>  SELECT CONCAT(FIRST_NAME || ‘ ‘, LAST_NAME) FROM CUSTOMERS; --concat(x,y)连接字符串xy
CONCAT(FIRST_NAME||‘‘,LAST_NAM
------------------------------
Cynthis Green
JOHN BROWN
Doreen Blue
Steve White
GAIL BLACK
%test test
6 rows selected

5.SQL> SELECT INITCAP(DESCRIPTION)  FROM PRODUCTS WHERE PRODUCT_ID<3;   --inicat(x),首字母大写
INITCAP(DESCRIPTION)
--------------------------------------------------
A Description Of Modern Science
Introduction To Chemistry

6.SQL> SELECT LENGTH(NAME) FROM PRODUCTS; --length(x),返回x的长度
LENGTH(NAME)
------------
          14
           9
           9
           8
           7
          16
          13
          19
          15
           5
          13
          13
12 rows selected

7.SQL> SELECT NAME,LOWER(NAME),UPPER(NAME) FROM PRODUCTS;  --转换为大小写
NAME                           LOWER(NAME)                    UPPER(NAME)
------------------------------ ------------------------------ ------------------------------
Modern Science                 modern science                 MODERN SCIENCE
Chemistry                      chemistry                      CHEMISTRY
Supernova                      supernova                      SUPERNOVA
Tank War                       tank war                       TANK WAR
Z Files                        z files                        Z FILES
2412: The Return               2412: the return               2412: THE RETURN
Space Force 9                  space force 9                  SPACE FORCE 9
From Another Planet            from another planet            FROM ANOTHER PLANET
Classical Music                classical music                CLASSICAL MUSIC
Pop 3                          pop 3                          POP 3
Creative Yell                  creative yell                  CREATIVE YELL
My Front Line                  my front line                  MY FRONT LINE
12 rows selected

8.SQL> SELECT RPAD(NAME,20,‘-‘),LPAD(PRICE,10,‘*‘) FROM PRODUCTS;  --RPAD(x,width,string)右填充,RPAD(x,width,string)左填充
RPAD(NAME,20,‘-‘)                        LPAD(PRICE,10,‘*‘)
---------------------------------------- --------------------
Modern Science------                     *****19.95
Chemistry-----------                     ********30
Supernova-----------                     *****25.99
Tank War------------                     *****13.95
Z Files-------------                     *****49.99
2412: The Return----                     *****14.95
Space Force 9-------                     *****13.49
From Another Planet-                     *****12.99
Classical Music-----                     *****10.99
Pop 3---------------                     *****15.99
Creative Yell-------                     *****14.99
My Front Line-------                     *****13.49
12 rows selected

9.SQL> SELECT LTRIM(‘    HELLO RUSKY‘),RTRIM(‘HELLO RUSKY ABCDE‘,‘EDCB‘),TRIM(‘AB‘ FROM ‘ABC HELLO RUSKY ABCDEA‘) FROM DUAL;
SELECT LTRIM(‘    HELLO RUSKY‘),RTRIM(‘HELLO RUSKY ABCDE‘,‘EDCB‘),TRIM(‘AB‘ FROM ‘ABC HELLO RUSKY ABCDEA‘) FROM DUAL
ORA-30001: 截取集仅能有一个字符

SQL> SELECT LTRIM(‘    HELLO RUSKY‘),RTRIM(‘HELLO RUSKY ABCDE‘,‘EDCB‘),TRIM(‘A‘ FROM ‘ABC HELLO RUSKY ABCDEA‘) FROM DUAL;
LTRIM(‘HELLORUSKY‘) RTRIM(‘HELLORUSKYABCDE‘,‘EDCB‘ TRIM(‘A‘FROM‘ABCHELLORUSKYABCD
------------------- ------------------------------ ------------------------------
HELLO RUSKY         HELLO RUSKY A                  BC HELLO RUSKY ABCDE

SQL> select ltrim(‘abcdefg‘,‘abc‘)from dual;
  LTRIM(‘ABCDEFG‘,‘ABC‘)
  ----------------------
  defg

说明:LTRIM(x,string)从X左边开始截去string中的字符串  RTRIM(x,string)从X右边开始截去string中的字符串   TRIM(string FROM x)从x的左右两边截去string   这三个函数,如果不指定string,则默认截去x中的空格。

10.SQL> SELECT CUSTOMER_ID,NVL(PHONE,‘Unknown Phone Number‘) FROM CUSTOMERS;   --NVL(x,value),如果x为空,则返回values
                            CUSTOMER_ID NVL(PHONE,‘UNKNOWNPHONENUMBER‘
--------------------------------------- ------------------------------
                                      2 800-555-1212
                                      1 11223344
                                      5 Unknown Phone Number
                                      3 800-555-1213
                                      4 1234
                                      6 Unknown Phone Number
6 rows selected

11.SQL> SELECT CUSTOMER_ID,NVL2(PHONE,‘Known‘,‘Unknown‘) FROM CUSTOMERS; --NVL2(x,value1,value2)如果x非空,返回value1,如果x为空,返回value2
                            CUSTOMER_ID NVL2(PHONE,‘KNOWN‘,‘UNKNOWN‘)
--------------------------------------- -----------------------------
                                      2 Known
                                      1 Known
                                      5 Unknown
                                      3 Known
                                      4 Known
                                      6 Unknown
6 rows selected

12.SQL> SELECT NAME,REPLACE(NAME,‘Science‘,‘Physics‘) FROM PRODUCTS WHERE PRODUCT_ID=1; --REPLACE(x,search_string,replace_string),在x中查找search_string,并替换为replace_string
NAME                           REPLACE(NAME,‘SCIENCE‘,‘PHYSIC
------------------------------ --------------------------------------------------------------------------------
Modern Science                 Modern Physics

13.SQL> SELECT LAST_NAME FROM CUSTOMERS WHERE SOUNDEX(LAST_NAME)=SOUNDEX(‘WHYTE‘); --SOUNDEX(x)查找发音相似的单词
LAST_NAME
----------
White

14.SQL> SELECT NAME,SUBSTR(NAME,2,7) FROM PRODUCTS;   --SUBSTR(x,start,length)从x中的start位置,截取指定长度length的字符
NAME                           SUBSTR(NAME,2,7)
------------------------------ ----------------
Modern Science                 odern S
Chemistry                      hemistr
Supernova                      upernov
Tank War                       ank War
Z Files                         Files
2412: The Return               412: Th
Space Force 9                  pace Fo
From Another Planet            rom Ano
Classical Music                lassica
Pop 3                          op 3
Creative Yell                  reative
My Front Line                  y Front
12 rows selected

15.SQL> SELECT NAME,SUBSTR(NAME,2) FROM PRODUCTS;  --如果不指定length,则从第2个字符截取后面全部
NAME                           SUBSTR(NAME,2)
------------------------------ ----------------------------------------------------------
Modern Science                 odern Science
Chemistry                      hemistry
Supernova                      upernova
Tank War                       ank War
Z Files                         Files
2412: The Return               412: The Return
Space Force 9                  pace Force 9
From Another Planet            rom Another Planet
Classical Music                lassical Music
Pop 3                          op 3
Creative Yell                  reative Yell
My Front Line                  y Front Line
12 rows selected

15.SQL> SELECT NAME,UPPER(SUBSTR(NAME,2,8)) FROM PRODUCTS;  --使用组合函数
NAME                           UPPER(SUBSTR(NAME,2,8))
------------------------------ -----------------------
Modern Science                 ODERN SC
Chemistry                      HEMISTRY
Supernova                      UPERNOVA
Tank War                       ANK WAR
Z Files                         FILES
2412: The Return               412: THE
Space Force 9                  PACE FOR
From Another Planet            ROM ANOT
Classical Music                LASSICAL
Pop 3                          OP 3
Creative Yell                  REATIVE
My Front Line                  Y FRONT
12 rows selected
时间: 2024-10-12 16:59:52

Oracle函数之字符串函数的相关文章

ORACLE PL/SQL 字符串函数、数学函数、日期函数

ORACLE PL/SQL 字符串函数.数学函数.日期函数 --[字符串函数] --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0开始) select Name,substr(Name,0,3) from t1; --字符串从后面取三个 select Name,substr(Name,-3

SQL server聚合函数、数学函数、字符串函数

一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件

sql 数学函数and字符串函数and日期函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

SQL Server系统函数:字符串函数

原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a'),ASCII('b'),ASCII('?') select CHAR(65),CHAR(66),CHAR(97),CHAR(98),CHAR(63) 2.unicode字符转化为整数,把整数转化为unicode字符 select UNICODE('A'),UNICODE('B'),UNICODE('

ORACLE常用数值函数、转换函数、字符串函数

本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL Reference官方文档更靠谱一些. 本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表示数字型,C表示字符型,D表示日期型,

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

gets()、puts()函数。字符串函数。字符串排序的例子。

1.实例程序:string.c的程序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include<stdio.h> #define MSG "YOU MUST have many talents .tell me some." #define LIM 5 #define LINELEN 81 int main() { char name[LINELEN]; char

SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print  可以再消息栏里打印东西 数学函数 ceiling()  取上限   不在乎小数点后面有多大,直接忽略 floor()     取下限   同上 round(列名,保留的位数)   四舍五入   保留小数最后那位数进不进一只看保留位数的后一位数够不够条件,再往后的就不管了 ABS()     绝对值---防抱死233 PI()        圆周率   就是查询一个圆周率 SQRT()平方根 字符串函数 upper()

SQLSERVER常见系统函数之字符串函数(一)

好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很帅!') 2.RIGHT(需要被从右边截取的字符串,截取的开始下标,截取的长度) 返回:右边的字符串 示例: SELECT RIGHT('小搬运工',2,2) ‘小搬运工’从右边数第二个下标开始,长度为二的字符串 3.CHARINDEX(父字符串,需要查找位置的子字符串,从哪个位置开始找) 示例:S

数学函数,字符串函数,聚合函数

1. --数学函数;ABS(-8)绝对值.ceiling(3.12) 取上线.floor取下限.power(2,3)几次方.--round()四舍五入--sqrt开平方根.squar平方 --字符串函数--ASCII 返回字符串最左边的字符ascii码select ASCII('name')select ASCII(name)from biao--查看所有人名的首字符的ascii码--char 将ascii码转换成字符select CHAR(70)select CHAR(yuwen)from b