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 语法使用手册 PLSQL 语法使用手册是 Oracle...PLSQL 语法使用手册提供了基本查询、数学运算、别名、连接符号、管理 NULL 值、SQL PLUS 和 ORDER BY 操作等知识点,为用户提供了一个详细的 PLSQL 语法使用手册。
三、PLSQL语法 1. 声明段:声明变量、常量、游标、记录类型等。 2. 执行段:包含SQL语句和PLSQL控制结构,如循环(FOR, WHILE)、条件判断(IF, CASE)、异常处理(BEGIN...EXCEPTION)。 3. 存储过程和函数:自定义...
### GBase-8s数据库平台PL/SQL语法手册知识点概览 #### 1. PL/SQL基础 **1.1 词法单元** - **1.1.1 分隔符(Delimiters)** - 在GBase-8s中,分隔符用于区分不同的语句或元素。默认情况下,`;`作为结束语句的标准...
- 如何对程序进行编译检查,确保语法正确。 - **置换变量** - 介绍了使用变量替换的方法。 #### 四、测试程序 - **创建测试脚本** - 说明了如何编写用于测试的脚本。 - **运行测试脚本** - 介绍了执行测试脚本...
Oracle PL/SQL 语法详细手册是一份全面介绍Oracle数据库中SQL和PL/SQL语言的参考资料。这份手册旨在帮助用户理解和掌握在Oracle环境中进行数据管理和编程的基础知识。 在SQL语法部分,手册涵盖了创建数据库对象的...
GBase 8s数据库平台PLSQL语法手册是南大通用数据技术股份有限公司开发的一份PL/SQL语法指南,旨在帮助开发者更好地了解和使用PL/SQL语言。本手册涵盖了PL/SQL基础知识、声明、语句、函数、过程、触发器、异常处理、...
"plsql语法帮助 hlp版本" 提供的资源显然是一个专门针对PL/SQL语言的学习资料包,包含了对Oracle内置SQL函数的详细解释和示例,以及可能的查询帮助工具。 Oracle内置SQL函数是数据库操作中不可或缺的部分,它们极大...
Oracle PL/SQL 语法详细手册是一本全面介绍Oracle数据库中SQL和PL/SQL语言的参考资料。手册分为两大部分,第一部分专注于SQL语法,第二部分深入到PL/SQL编程。 **第一部分 SQL语法部分** 1. **CREATE TABLE 语句**...
- SQL语法遵循国际标准化组织ISO和美国国家标准协会(ANSI)的ANSISQL标准。 - KingbaseES的SQL语言符合SQL:1992入门级和过渡级、SQL:1999和SQL:2003的核心级标准,并加以适当扩充。 - 语句的语法使用巴克斯范式...
以下是对PLSQL语法手册中提及的部分核心概念的详细解释: ### SQL 语法部分 1. **CREATE TABLE 语句**:用于创建数据库中的表结构,定义列名、数据类型、默认值、约束等。`column datatype`指明列的名称和数据类型...
这个"PLSQL详细手册"显然是一个深入介绍PLSQL语法和用法的资源,对于学习和理解Oracle数据库编程至关重要。 在PLSQL中,你可以编写存储过程、函数、触发器、游标,以及处理异常,从而实现复杂的业务逻辑和数据操作...
《PL/SQL 语法手册》全面涵盖了SQL与PL/SQL的相关语法,是数据库开发者和管理员的重要参考资料。手册分为两大部分,分别对SQL语法和PL/SQL语法进行了详细讲解。 第一部分,SQL语法部分,主要涉及以下关键语句和概念...
这份手册中所介绍的SQL语句遵循巴克斯范式(Backus Normal Form)的语法描述。 PL/SQL是一种过程语言,用于KingbaseESV8R3数据库系统,增强了SQL的功能,使得结构化查询语言SQL更加易用。PL/SQL的程序具有良好的可...
《开发人员必备手册—PL/SQL 7中文手册》是一本专门为编程人员提供关于Oracle数据库PL/SQL语言详尽指导的资源。这本书旨在帮助开发者深入理解PL/SQL,提升他们在数据库管理和应用程序开发中的技能。 PL/SQL是Oracle...
### PL/SQL Developer 7.0 用户指南:深入解析与应用 ...通过对本操作手册的学习,开发者能够深入了解PL/SQL Developer的各项特性,并将其应用于实际工作中,从而实现更高水平的数据库应用程序开发。
### 第一部分:SQL 语法部分 1. **CREATE TABLE 语句**:这是在Oracle数据库中创建新表的基本命令。你可以定义表的结构,包括列名、数据类型、约束(如非空约束、主键约束等)和表的其他属性。 2. **CREATE ...
这份PLSQL中文手册会详细介绍以上这些概念和更多内容,如事务控制、游标变量、游标表达式、记录类型、嵌套表操作、PL/SQL记录类型与SQL的互操作性、PLSQL与Java的互操作等。对于初学者来说,通过学习手册中的实例和...