`
universsky
  • 浏览: 99466 次
文章分类
社区版块
存档分类
最新评论

SQL PLSQL 语法手册2

 
阅读更多


1.3. 函數:TO_DATE

语法:

TO_DATE(string,format)

用途:

根据给定的格式将一个字符串转换成Oracle的日期值.

该函数的主要用途是用来验证输入的日期值.在应用程序中,用户必须验证输入日期是否有效,如月份是否在1~12之间和日期中的天数是否在指定月份的天数内.


1.4. 函數:TO_NUMBER

语法:

TO_NUMBER(string[,format])

用途:

该函数将一个字符串转换成相应的数值.对于简单的字符串转换数值(例如几位数字加上小数点).格式是可选的.


2. 日期函数

2.1. 函數:ADD_MONTHS

语法:

ADD_MONTHS(date,number)

用途:

在日期date上加指定的月数,返回一个新日期.如果给定为负数,返回值为日期date之前几个月的日期.number应当是个整数,如果是小数,正数被截为小于该数的最大整数,负数被截为大于该数的最小整数.

例如:

SELECT TO_CHAR(ADD_MONTHS(sysdate,1),

'DD-MON-YYYY') "Next month"

FROM dual

Next month

-----------

19-FEB-2000

2.2. 函數:LAST_DAY

语法:

LAST_DAY(date)

用途:

返回日期date所在月份的最后一天的日期.

例如:

SELECT SYSDATE, LAST_DAY(SYSDATE) "Last",

LAST_DAY(SYSDATE) - SYSDATE "Days Left"

FROM DUAL

SYSDATE Last Days Left

--------- --------- ----------

19-JAN-00 31-JAN-00 12

2.3. 函數:MONTHS_BETWEEN

语法:

MONTHS_BETWEEN(date1,date2)

用途:

返回两个日期之间的月份.如果两个日期月份内的天数相同(或者都是某个月的最后一天),返回值是整数.否则,返回值是小数,每于1/31月来计算月中剩余天数.如果第二个日期比第一个日期还早,则返回值是负数.

例如:

SELECT MONTHS_BETWEEN(TO_DATE('02-02-1992', 'MM-DD-YYYY'),

TO_DATE('01-01-1992', 'MM-DD-YYYY'))

"Months"

FROM DUAL

Months

----------

1.03225806

SELECT MONTHS_BETWEEN(TO_DATE('02-29-1992', 'MM-DD-YYYY'),

TO_DATE('01-31-1992', 'MM-DD-YYYY'))

"Months"

FROM DUAL

Months

----------

1

2.4. 函數:NEXT_DAY

语法:

NEXT_DAY(date,day)

用途:

该函数返回日期date指定若天后的日期.注意:参数day必须为星期,可以星期几的英文完整拼写,或前三个字母缩写,或数字1,2,3,4,5,6,7分别表示星期日到星期六.例如,查询返回本月最后一个星期五的日期.

例如:

SELECT NEXT_DAY((last_day(sysdate)-7),'FRIDAY')

FROM dual

NEXT_DAY(

---------

28-JAN-00

2.5. 函數:ROUND

语法:

NEXT_DAY(date[,format])

用途:

该函数把一个日期四舍五入到最接近格式元素指定的形式.如果省略format,只返回date的日期部分.例如,如果想把时间(24/01/00 14:58:41)四舍五入到最近的小时.下表显示了所有可用格式元素对日期的影响.

Format Element

Result

SS

24/01/00 14:58:41

MI

24/01/00 14:59:00

HH

24/01/00 15:00:00

DD

25/01/00 00:00:00

MM

01/02/01 00:00:00

YY

01/01/00 00:00:00

CC

01/01/00 00:00:00

例如:

SELECT to_char(ROUND(sysdate,'HH'),'DD-MON-YY HH24:MI:SS')

FROM dual

TO_CHAR(ROUND(SYSDATE,'HH'),'DD-MON-YYHH24:MI:SS')

-----------------------------------------------------------------

24-JAN-00 15:00:00

2.6. 函數:TRUNC

语法:

TRUNC(date[,format])

用途:

TRUNC函数与ROUND很相似,它根据指定的格式掩码元素,只返回输入日期用户所关心的那部分,与ROUND有所不同,它删除更精确的时间部分,而不是将其四舍五入.

例如:

SELECT TRUNC(sysdate)

FROM dual

TRUNC(SYS

---------

24-JAN-00

FLOOR函数:求两个日期之间的天数用;

select floor(sysdate - to_date('20080805','yyyymmdd')) from dual;


3. 字符函数

3.1. 函數:ASCII

语法:

ASCII(character)

用途:

返回指定字符的ASCII码值.如果为字符串时,返回第一个字符的ASCII码值.

例如:

SELECT ASCII('Z')

FROM dual

ASCII('Z')

----------

90

3.2. 函數:CHR

语法:

CHR(number)

用途:

该函数执行ASCII函数的反操作,返回其ASCII码值等于数值number的字符.该函数通常用于向字符串中添加不可打印字符.

例如:

SELECT CHR(65)||'BCDEF'

FROM dual

CHR(65

------

ABCDEF


3.3. 函數:CONCAT

语法:

CONCAT(string1,string2)

用途:

该函数用于连接两个字符串,将string2跟在string1后面返回,它等价于连接操作符(||).

例如:

SELECT CONCAT(This is a, computer)

FROM dual

CONCAT('THISISA','

------------------

This is a computer

它也可以写成这样:

SELECT This is a|| computer

FROM dual

'THISISA'||'COMPUT

------------------

This is a computer

这两个语句的结果是完全相同的,但应尽可能地使用||操作符.

3.4. 函數:INITCAP

语法:

INITCAP(string)

用途:

该函数将字符串string中每个单词的第1个字母变成大写字母,其它字符为小写字母.

例如:

SELECT INITCAP(first_name||'.'||last_name)

FROM employee

WHERE department_id=12

INITCAP(FIRST_NAME||'.'||LAST_N

-------------------------------

Chris.Alberts

Matthew.Fisher

Grace.Roberts

Michael.Douglas

3.5. 函數:INSTR

语法:

INSTR(input_string,search_string[,n[,m]])

用途:

该函数是从字符串input_string的第n个字符开始查找搜索字符串的第m次出现,如果没有找到搜索的字符串,函数将返回0.如果找到,函数将返回位置.

例如:

SELECT INSTR('the quick sly fox jumped over the

lazy brown dog','the',2,1)

FROM dual

INSTR('THEQUICKSLYFOXJUMPEDOVERTHELAZYBROWNDOG','THE',2,1)

----------------------------------------------------------

31

3.6. 函數:INSTRB

语法:

INSTRB(input_string,search_string[,n[,m]])

用途:

该函数类似于INSTR函数,不同之处在于INSTRB函数返回搜索字符串出现的字节数,而不是字符数.在NLS字符集中仅包含单字符时,INSTRB函数和INSTR函数是完全相同的.

3.7. 函數:LENGTH

语法:

LENGTH(string)

用途:

该函数用于返回输入字符串的字符数.返回的长度并非字段所定义的长度,而只是字段中占满字符的部分.以列实例中,字段first_name定义为varchar2(15).

语法:

SELECT first_name,LENGTH(first_name)

FROM employee

FIRST_NAME LENGTH(FIRST_NAME)

--------------- ------------------

JOHN 4

KEVIN 5

3.8. 函數:LENGTHB

语法:

LENGTHB(string)

用途:

该函数用于返回输入字符串的字节数.对于只包含单字节字符的字符集来说LENGTHB函数和LENGTH函数完全一样.

3.9. 函數:LOWER

语法:

LOWER(string)

用途:

该函数将字符串string全部转换为小写字母,对于数字和其它非字母字符,不执行任何转换.

3.10. 函數:UPPER

语法:

UPPER(string)

用途:

该函数将字符串string全部转换为大写字母,对于数字和其它非字母字符,不执行任何转换.

3.11. 函數:LPAD

语法:

LPAD(string,length[,set])

用途:

在字符串string的左边加上一个指定的字符集set,从而使串的长度达到指定的长度length.参数set可以是单个字符,也可以是字符串.如果string的长度小于length时,取string字符串的前length个字符.

语法:

SELECT first_name,LPAD(first_name,20,' ')

FROM employee

FIRST_NAME LPAD(FIRST_NAME,20,'')

--------------- -----------------------------------------

JOHN JOHN

KEVIN KEVIN

3.12. 函數:RPAD

语法:

RPAD(string,length[,set])

用途:

在字符串string的右边加上一个指定的字符集set,从而使串的长度达到指定的长度length.参数set可以是单个字符,也可以是字符串.如果string的长度小于length时,取string字符串的前length个字符.

例如:

SELECT first_name,rpad(first_name,20,'-')

FROM employee

FIRST_NAME RPAD(FIRST_NAME,20,'-')

--------------- -----------------------------------------

JOHN JOHN----------------

KEVIN KEVIN---------------

3.13. 函數:LTRIM

语法:

LTRIM(string[,set])

用途:

该函数从字符串的左边开始,去掉字符串set中的字符,直到看到第一个不在字符串set中的字符为止.

例如:

SELECT first_name,ltrim(first_name,'BA')

FROM employee

WHERE first_name='BARBARA'

FIRST_NAME LTRIM(FIRST_NAM

--------------- ---------------

BARBARA RBARA

3.14. 函數:RTRIM

语法:

RTRIM(string[,set])

用途:

该函数从字符串的右边开始,去掉字符串set中的字符,直到看到第一个不在字符串set中的字符为止.具有NULL值的字段不能与具有空白字符的字段相比较.

这是因为空白字符与NULL字符是完全不同的两种字符.该函数的另外一个用途是当进行字段连接时去掉不需要的字符.

3.15. 函數:SUBSTR

语法:

SUBSTR(string,start[,length])

用途:

该函数从输入字符串中取出一个子串,从start字符处开始取指定长度的字符串,如果不指定长度,返回从start字符处开始至字符串的末尾.

3.16. 函數:REPLACE

语法:

REPLACE(string,search_set[,replace_set])

用途:

该函数将字符串中所有出现的search_set都替换成replace_set字符串.可以使用该函将字符串中所有出现的符号都替换成某个有效的名字.如果不指定replace_set,则将从字符串string中删除所有的搜索字符串search_set.

例如:

SELECT REPLACE('abcdefbdcdabc,dsssdcdrd','abc','ABC')

FROM dual

REPLACE('ABCDEFBDCDABC,

-----------------------

ABCdefbdcdABC,dsssdcdrd

3.17. 函數:TRANSLATE

语法:

TRANSLATE(string,search_set,replace_set)

用途:

该函数用于将所有出现在搜索字符集search_set中的字符转换成替换字符集replace_set中的相应字符.注意:如果字符串string中的某个字符没有出现在搜索字符集中.则它将原封不动地返回.如果替换字符集replace_set比搜索字符集search_set小,那么搜索字符集search_set中后面的字符串将从字符串string中删除.

例如:

SELECT TRANSLATE('GYK-87M','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',

9999999999xxxxxxxxxxxxxx')

FROM dual

TRANSL

------

xx-99x


分享到:
评论

相关推荐

    PLSQL语法使用手册.doc

    PLSQL 语法使用手册 PLSQL 语法使用手册是 Oracle...PLSQL 语法使用手册提供了基本查询、数学运算、别名、连接符号、管理 NULL 值、SQL PLUS 和 ORDER BY 操作等知识点,为用户提供了一个详细的 PLSQL 语法使用手册。

    Oracle+PLSQL+语法手册 全面 详细 chm

    三、PLSQL语法 1. 声明段:声明变量、常量、游标、记录类型等。 2. 执行段:包含SQL语句和PLSQL控制结构,如循环(FOR, WHILE)、条件判断(IF, CASE)、异常处理(BEGIN...EXCEPTION)。 3. 存储过程和函数:自定义...

    GBase-8s数据库平台PLSQL语法手册-D.docx

    ### GBase-8s数据库平台PL/SQL语法手册知识点概览 #### 1. PL/SQL基础 **1.1 词法单元** - **1.1.1 分隔符(Delimiters)** - 在GBase-8s中,分隔符用于区分不同的语句或元素。默认情况下,`;`作为结束语句的标准...

    PLSQL中文手册(相当全面)

    - 如何对程序进行编译检查,确保语法正确。 - **置换变量** - 介绍了使用变量替换的方法。 #### 四、测试程序 - **创建测试脚本** - 说明了如何编写用于测试的脚本。 - **运行测试脚本** - 介绍了执行测试脚本...

    oracle_PLSQL_语法详细手册

    Oracle PL/SQL 语法详细手册是一份全面介绍Oracle数据库中SQL和PL/SQL语言的参考资料。这份手册旨在帮助用户理解和掌握在Oracle环境中进行数据管理和编程的基础知识。 在SQL语法部分,手册涵盖了创建数据库对象的...

    GBase-8s数据库平台PLSQL语法手册.pdf

    GBase 8s数据库平台PLSQL语法手册是南大通用数据技术股份有限公司开发的一份PL/SQL语法指南,旨在帮助开发者更好地了解和使用PL/SQL语言。本手册涵盖了PL/SQL基础知识、声明、语句、函数、过程、触发器、异常处理、...

    plsql语法帮助 hlp版本

    "plsql语法帮助 hlp版本" 提供的资源显然是一个专门针对PL/SQL语言的学习资料包,包含了对Oracle内置SQL函数的详细解释和示例,以及可能的查询帮助工具。 Oracle内置SQL函数是数据库操作中不可或缺的部分,它们极大...

    Oracle_PLSQL_语法详细手册

    Oracle PL/SQL 语法详细手册是一本全面介绍Oracle数据库中SQL和PL/SQL语言的参考资料。手册分为两大部分,第一部分专注于SQL语法,第二部分深入到PL/SQL编程。 **第一部分 SQL语法部分** 1. **CREATE TABLE 语句**...

    SQL和PLSQL速查手册.pdf

    - SQL语法遵循国际标准化组织ISO和美国国家标准协会(ANSI)的ANSISQL标准。 - KingbaseES的SQL语言符合SQL:1992入门级和过渡级、SQL:1999和SQL:2003的核心级标准,并加以适当扩充。 - 语句的语法使用巴克斯范式...

    PLSQL教材--语法手册.doc

    以下是对PLSQL语法手册中提及的部分核心概念的详细解释: ### SQL 语法部分 1. **CREATE TABLE 语句**:用于创建数据库中的表结构,定义列名、数据类型、默认值、约束等。`column datatype`指明列的名称和数据类型...

    PLSQL详细手册

    这个"PLSQL详细手册"显然是一个深入介绍PLSQL语法和用法的资源,对于学习和理解Oracle数据库编程至关重要。 在PLSQL中,你可以编写存储过程、函数、触发器、游标,以及处理异常,从而实现复杂的业务逻辑和数据操作...

    PL/SQL 语法手册

    《PL/SQL 语法手册》全面涵盖了SQL与PL/SQL的相关语法,是数据库开发者和管理员的重要参考资料。手册分为两大部分,分别对SQL语法和PL/SQL语法进行了详细讲解。 第一部分,SQL语法部分,主要涉及以下关键语句和概念...

    人大金仓SQL和PLSQL速查手册.pdf

    这份手册中所介绍的SQL语句遵循巴克斯范式(Backus Normal Form)的语法描述。 PL/SQL是一种过程语言,用于KingbaseESV8R3数据库系统,增强了SQL的功能,使得结构化查询语言SQL更加易用。PL/SQL的程序具有良好的可...

    开发人员必备手册—plsql7中文手册

    《开发人员必备手册—PL/SQL 7中文手册》是一本专门为编程人员提供关于Oracle数据库PL/SQL语言详尽指导的资源。这本书旨在帮助开发者深入理解PL/SQL,提升他们在数据库管理和应用程序开发中的技能。 PL/SQL是Oracle...

    plsql 中文操作手册

    ### PL/SQL Developer 7.0 用户指南:深入解析与应用 ...通过对本操作手册的学习,开发者能够深入了解PL/SQL Developer的各项特性,并将其应用于实际工作中,从而实现更高水平的数据库应用程序开发。

    oracle PLSQL 语法详细手册.docx

    ### 第一部分:SQL 语法部分 1. **CREATE TABLE 语句**:这是在Oracle数据库中创建新表的基本命令。你可以定义表的结构,包括列名、数据类型、约束(如非空约束、主键约束等)和表的其他属性。 2. **CREATE ...

    PLSQL 中文手册.7z

    这份PLSQL中文手册会详细介绍以上这些概念和更多内容,如事务控制、游标变量、游标表达式、记录类型、嵌套表操作、PL/SQL记录类型与SQL的互操作性、PLSQL与Java的互操作等。对于初学者来说,通过学习手册中的实例和...

Global site tag (gtag.js) - Google Analytics