- 浏览: 29472 次
- 性别:
- 来自: 北京
最新评论
8.1 数字函数
8.1.1 数字函数概述
1.ABS(x)
例8.1_1 求88和-88的绝对值。
SELECT ABS(88), ABS(-88) FROM dual;
2.ACOS(x)
例8.1_2 求ACOS(1)和ACOS(-1)的值。
SELECT ACOS(1), ACOS(-1) FROM dual;
3.ASIN(x)
例8.1_3 求ASIN (0.5)和ASIN (-0.5)的值。
SELECT ASIN (0.5), ASIN (-0.5) FROM dual;
4.ATAN(x)
例8.1_4 求ATAN (5)和ATAN (-5)的值。
SELECT ATAN (5), ATAN (-5) FROM dual;
5.ATAN2(x, y)
例8.1_5 求ATAN2(10,2)和ATAN2(-5,1)的值。
SELECT ATAN2(10,2), ATAN2(-5,1) FROM dual;
6.BITAND(x, y)
例8.1_6
SELECT BITAND(15,-1) FROM dual;
7.CEIL(x)
例8.1_7 求CEIL(15) CEIL(-15) CEIL(15.3) CEIL(-15.8)的值。
SELECT CEIL(15), CEIL(-15), CEIL(15.3), CEIL(-15.8) FROM dual;
8.COS(x)
例8.1_8 求COS(3.1415926/4)、COS(-3.1415926/4) 的值。
SELECT COS(3.1415926/4), COS(-3.1415926/4) FROM dual;
9.COSH(x)
例8.1_9 求COSH (1)、COSH (-1) 的值。
SELECT COSH(1), COSH(-1) FROM dual;
10.EXP(x)
例8.1_10 求EXP(1)、EXP(-1) 的值。
SELECT EXP(1), EXP(-1) FROM dual;
11.FLOOR(x)
例8.1_11 求FLOOR (15)、FLOOR (-15)、FLOOR (15.3)、FLOOR (-15.8)的值。
SELECT FLOOR(15), FLOOR(-15), FLOOR(15.3), FLOOR(-15.8) FROM dual;
12.LN(x)
例8.1_12 求LN (2.71828183)、LN (1)的值。
SELECT LN(2.71828183), LN(1) FROM dual;
13.LOG(x, y)
例8.1_13 求LOG(10, 10)、LOG(2, 8)的值。
SELECT LOG(10, 10), LOG(2, 8) FROM dual;
14.MOD(x, y)
例8.1_14 求MOD(10, 5)、MOD(10, 3)的值。
SELECT MOD(10, 5), MOD(10, 3) FROM dual;
15.POWER(x, y)
例8.1_15 求POWER(2, 3)、POWER(10, 2)的值。
SELECT POWER(2, 3), POWER(10, 2) FROM dual;
例8.1_16 求ROUND(15.51)、ROUND(15.49)、ROUND(15.51, 1)、ROUND(15.51,0) ROUND(15.51, -1)的值。
SELECT ROUND(15.51), ROUND(15.49),
ROUND(15.51,1), ROUND(15.51,0), ROUND(15.51,-1) FROM dual;
17.SIGN(x)
例8.1_17 求SIGN(10)、SIGN(-10)、SIGN(0)的值。
SELECT SIGN(10), SIGN(-10), SIGN(0) FROM dual;
18.SIN(x)
例8.1_18 求SIN(3.1415926/6)、SIN(3.1415926/4)、SIN(3.1415926/3)的值。
SELECT SIN(3.1415926/6),
SIN(3.1415926/4), SIN(3.1415926/3) FROM dual;
19.SINH(x)
例8.1_19 求SINH(10)、SINH(-10)的值。
SELECT SINH(10), SINH(-10) FROM dual;
20.TAN(x)
例8.1_20 求TAN(3.1415926/6)、TAN(3.1415926/4)、TAN(3.1415926/3)的值。
SELECT TAN(3.1415926/6),
TAN(3.1415926/4), TAN(3.1415926/3) FROM dual;
21.TANH(x)
例8.1_21 求TANH (10)、TANH (-10)的值。
SELECT TANH(10), TANH(-10) FROM dual;
22.TRUNC(x[, y])
例8.1_22 求TRUNC(15.51)、TRUNC(15.49)、TRUNC(15.51, 1)、TRUNC(15.51,0) TRUNC (15.51, -1)的值。
SELECT TRUNC(15.51), TRUNC(15.49), TRUNC(15.51,1),
TRUNC(15.51,0), TRUNC(15.51,-1) FROM dual;
8.2.2 字符函数示例
1.ASCII(x)
例8.2_1 求ASCII('a')、ASCII('A')、ASCII('0')的值。
SELECT ASCII('a'), ASCII('A'), ASCII('0') FROM dual;
例8.2_2 求ASCII('X')、ASCII('XYZ')的值。
SELECT ASCII('X'), ASCII('XYZ') FROM dual;
2.CHR(x)
例8.2_3 求CHR(97)、CHR(65)、CHR(48)的值。
SELECT CHR(97), CHR(65), CHR(48) FROM dual;
3.CONCAT(x, y)
例8.2_4 求CONCAT('学生姓名:', '欧阳春岚')的值。
SELECT CONCAT('学生姓名:', '欧阳春岚') FROM dual;
4.INITCAP(x)
例8.2_5 求INITCAP('My name is yZM')的值。
SELECT INITCAP('My name is yZM') FROM dual;
5.INSTR(x, y [, n][, m])
例8.2_6 求INSTR('XYZABMLNABEF', 'AB')的值。
SELECT INSTR('XYZABMLNABEF', 'AB') FROM dual;
例8.2_7 求INSTR('XYZABMLNABEF', 'AB', 1, 2)的值。
SELECT INSTR('XYZABMLNABEF', 'AB', 1, 2) FROM dual;
6.LENGTH(x)
例8.2_8 求LENGTH('My name is yZM')的值。
SELECT LENGTH('My name is yZM') FROM dual;
7.LOWER(x)
例8.2_9 求LOWER('My name is yZM')的值。
SELECT LOWER('My name is yZM') FROM dual;
8.LPAD(x, n [, y])
例8.2_10 求LPAD('name is YZM', 14, 'My ')的值。
SELECT LPAD('name is YZM', 14, 'My ') FROM dual;
9.LTRIM(x[, y])
例8.2_11 求LTRIM('student', 'tu')、LTRIM('student')的值。
SELECT LTRIM('student', 'stu'), LTRIM('student') FROM dual;
12.REPLACE(x, y, z)
例8.2_12 求REPLACE('XYZABMLNABEF', 'AB', 'CD')的值。
SELECT REPLACE('XYZABMLNABEF', 'AB', 'CD') FROM dual;
13.RPAD(x, n[, y])
例8.2_13 求RPAD('My', 14, ' name is YZM')的值。
SELECT RPAD('My', 14, ' name is YZM') FROM dual;
14.RTRIM(x[, y])
例8.2_14 求RTRIM('student', 'tu')、RTRIM('student')的值。
SELECT RTRIM('student', 'dent'), RTRIM('student') FROM dual;
15.SUBSTR(x, n[, m])
例8.2_15 求SUBSTR ('student', 1, 3)、SUBSTR ('student', 2)的值。
SELECT SUBSTR ('student', 1, 3), SUBSTR ('student', 2) FROM dual;
16.TRIM([y FROM] x)
例8.2_16 求TRIM('AB' FROM 'ABXYZAB')的值。
SELECT TRIM('A' FROM 'AAUVWXYZAA') FROM dual;
17.UPPER(x)
例8.2_17 求UPPER ('Ab')的值。
SELECT UPPER ('Abbb') FROM dual;
8.3.2 日期时间函数示例
1.ADD_MONTHS(x, n)
例8.3_1 求ADD_MONTHS('08-8月-2008', 12)的值。
SELECT ADD_MONTHS('08-8月-2008', 12) FROM dual;
2.CURRENT_DATE
例8.3_2 求CURRENT_DATE的值。
SELECT CURRENT_DATE FROM dual;
3.CURRENT_TIMESTAMP[(x)]
例8.3_3 求CURRENT_TIMESTAMP、CURRENT_TIMESTAMP(3)的值。
SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP(3) FROM dual;
4.DBTIMEZONE
例8.3_4 求DBTIMEZONE的值。
SELECT DBTIMEZONE FROM dual;
5.EXTRACT(YEAR|MONTH|DAY FROM x)
例8.3_5 求EXTRACT(YEAR|MONTH|DAY FROM x)的值。
SELECT EXTRACT(YEAR FROM TO_DATE('08-8-2008','dd-mm-yy')) FROM dual;
6.LAST_DAY(x)
例8.3_6 求LAST_DAY('08-8月-2008')的值。
SELECT LAST_DAY('08-8月-2008') FROM dual;
7.LOCALTIMESTAMP[(x)]
例8.3_7 求LOCALTIMESTAMP、LOCALTIMESTAMP(3)的值。
SELECT LOCALTIMESTAMP, LOCALTIMESTAMP(3) FROM dual;
8.MONTHS_BETWEEN(x, y)
例8.3_8 求MONTHS_BETWEEN('31-8月-2008', '31-1月-2008'), MONTHS_BETWEEN('31-1月-2008', '31-8月-2008')的值。
SELECT MONTHS_BETWEEN('31-8月-2008', '31-1月-2008'),
MONTHS_BETWEEN('31-1月-2008', '31-8月-2008') FROM dual;
9.NEXT_DAY(x, week)
例8.3_9 求NEXT_DAY('08-8月-2008', '星期三')的值。
SELECT NEXT_DAY('08-8月-2008', '星期三') FROM dual;
10.ROUND(x, [fmt])
例8.3_10 求ROUND('01-7月-2008', 'YEAR')、ROUND('30-6月-2008', 'YEAR')的值。
SELECT ROUND(TO_DATE('01-7-2008','dd-mm-yy'), 'YEAR'),
ROUND(TO_DATE('30-6-2008', 'dd-mm-yy'), 'YEAR') FROM dual;
11.SYSDATE
例8.3_11 求SYSDATE的值。
SELECT SYSDATE FROM dual;
12.SYSTIMESTAMP
例8.3_12 求SYSTIMESTAMP的值。
SELECT SYSTIMESTAMP FROM dual;
13.TRUNC(x, [fmt])
例8.3_13 求TRUNC('08-08月-2008', 'YEAR')、TRUNC('08-08月-2008', 'MONTH')、TRUNC('08-08月-2008', 'DAY')的值。
SELECT TRUNC(TO_DATE('08-8-2008','dd-mm-yy'), 'YEAR') FROM dual;
??SELECT TRUNC('08-08月-2008', 'YEAR'), TRUNC('08-08月-2008', 'MONTH'), TRUNC('08-08月-2008', 'DAY') FROM dual;
8.4.2 转换函数示例
1.ASCIISTR(x)
例8.4_1 求ASCIISTR('Oracle数据库') 的值。
SELECT ASCIISTR('Oracle数据库') FROM dual;
2.BIN_TO_NUM(b1[, b2][, b3]…)
例8.4_2 求BIN_TO_NUM(1, 0, 1, 1, 1, 0)的值。
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0) FROM dual;
3.CAST(x AS type_name)
例8.4_3 求CAST(TO_DATE('08-8-2008','dd-mm-yy')的值。
SELECT CAST(TO_DATE('08-8-2008','dd-mm-yy') AS VARCHAR2(15)) FROM dual;
4.CHARTOROWID(x)
例8.4_4 求CHARTOROWID('BBAFc2AAFAAEEEGFS/')的值。
SELECT CHARTOROWID('BBAFc2AAFAAEEEGFS/') FROM dual;
5.HEXTORAW(x)
例8.4_5 求HEXTORAW('ABCDEF55')的值。
SELECT HEXTORAW('ABCDEF55') FROM dual;
6.RAWTOHEX(x)
例8.4_6 求RAWTOHEX('ABCDEF55')的值。
SET SERVEROUTPUT ON
DECLARE
var VARCHAR2(15);
BEGIN
var := RAWTOHEX('ABCDEF55');
DBMS_OUTPUT.PUT_LINE ('转换结果为:'||var);
END;
7.RAWTONHEX(x)
例8.4_7 求RAWTONHEX('ABCDEF55')的值。
SET SERVEROUTPUT ON
DECLARE
var NVARCHAR2(15);
BEGIN
var := RAWTONHEX('ABCDEF55');
DBMS_OUTPUT.PUT_LINE ('转换结果为:'||var);
END;
8.ROWIDTOCHAR(x)
例8.4_8 求ROWIDTOCHAR('BBAFc2AAFAAEEEGFS/')的值。
SET SERVEROUTPUT ON
DECLARE
var VARCHAR2(20);
BEGIN
var := ROWIDTOCHAR('BBAFc2AAFAAEEEGFS/');
DBMS_OUTPUT.PUT_LINE ('转换结果为:'||var);
END;
9.ROWIDTONCHAR(x)
例8.4_9 求ROWIDTONCHAR('BBAFc2AAFAAEEEGFS/')的值。
SET SERVEROUTPUT ON
DECLARE
var NVARCHAR2(20);
BEGIN
var := ROWIDTONCHAR('BBAFc2AAFAAEEEGFS/');
DBMS_OUTPUT.PUT_LINE ('转换结果为:'||var);
END;
10.TO_BINARY_DOUBLE(x)
例8.4_10 求TO_BINARY_DOUBLE(2008)的值。
SELECT TO_BINARY_DOUBLE(2008) FROM dual;
11.TO_BINARY_FLOAT(x)
例8.4_11 求TO_BINARY_FLOAT(2008)的值。
SELECT TO_BINARY_FLOAT(2008) FROM dual;
12.TO_CHAR(x[, format])
例8.4_12 求TO_CHAR(sysdate, 'YYYY-MM-DD'), TO_CHAR(2008.0808, '9.9EEEE')的值。
SELECT TO_CHAR(sysdate, 'YYYY-MM-DD'),
TO_CHAR(2008.0808, '9.9EEEE') FROM dual;
13.TO_ DATE(x[, format])
例8.4_13 求TO_DATE('2008-8-8 8:00:00', 'YYYY-MM-DD HH12:MI:SS')的值。
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH12:MI:SS';
SELECT TO_DATE('2008-8-8 8:00:00', 'YYYY-MM-DD HH12:MI:SS') FROM dual;
发表评论
-
SQL语句 第12章 应用程序结构(过程,函数,包,触发器)
2009-12-03 17:09 112412.1 子程序 运行在服务器端,快;简化应用程序开 ... -
SQL语句 第11章 复合数据类型
2009-12-03 17:08 82311.1.2 在SELECT语句中使用记录1.使用%ROWT ... -
SQL语句 第10章 PLSQL编程基础
2009-12-03 17:08 113010.1 PL/SQL语言基础 10.1.1 PL/SQ ... -
SQL语句 第9章 数据描述语言(DDL)与数据控制语言(DCL)
2009-12-03 17:08 10319.1 数据控制语言(DCL)9.1.1 数据库权限3.用 ... -
SQL语句 第7章 DML语句与事物处理
2009-12-03 17:07 7807.1 数据操作语言(DML)7.1.1 插入数据(INS ... -
SQL语句 第6章 连接查询
2009-12-03 17:06 6316.1 内连接查询 6.1.1 简单内连接 ... -
SQL语句 第5章 子查询和集合操作
2009-12-03 02:37 11495.1 子查询 5.1.1 单行子查询 1.在WHE ... -
SQL语句 第4章 单表查询
2009-12-03 00:45 9434.1 简单查询 4.1.1 查询指定列 例4.1_ ... -
数据控制语言DCL和数据定义语言DDL
2009-12-02 15:48 1598数据控制语言DCL 系统权限: create sess ... -
SQL数据操作语言DML和事物控制语言TC
2009-12-01 16:34 1036数据操作语言DML 操作数据库时注意数据库的完整 ... -
数据库系统工程师试题
2009-11-24 18:06 13872004--2009数据库系统工程师试题及答案
相关推荐
sql语句函数电子书 非常适合新手查询的一本书 老手绕道
sql常用语句以及函数
sql语句常用函数
Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值...
SQL语句大全,包含大部分SQL语句,函数及存储过程的详细介绍
SQL语句中使用的函数的解释 SQL语句中使用的函数的解释 SQL语句中使用的函数的解释
资源:经典SQL语句大全 类型:rar 阅读方式:office
Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。
这是sql与oracle函数比较已经经典的sql语句大全,里面包含了Oracle常用函数与sql常用函数对比翻译,oracle与sqlserver字符、时间函数的不同总结,SQLServer和Oracle函数比较和经典SQL语句大全,对新手及高级程序员都...
sql语句优化建议,sql语句优化建议,sql语句优化建议
这个脚本使用来格式化sql语句的,获得sql语句后,直接通过sqlFormatter调用formatter函数,并且传入sql语句,会返回一个格式化好了的sql语句
Oracle数据库常用dos命令,sql语句分类介绍,常用sql语句,oracle函数大全。oracle创建表空间,创建用户并授权。
Sql Server 的语句函数大全,对于学习sql语句的人来说要掌握函数的语句是有很大的帮助的。
常用SQL语句及函数
SQL语句写的各进制之间互相转换,如二进制转换十进制,八进制转换十六进制等等
在VB 中执行SQL语句时,经常会出现SQL 语句太长 (我测的不能超过40000字符)而使得SQL语句在VB 程序中不能成功执行,但在SQL 查询分析 器中是可以执行的,为解决这个问题,开发了这个函数。
列举了SQL语句中大部分常用的函数 Abs(number) 取得数值的绝对值。 Asc(String) 取得字符串表达式的第一个字符ASCII 码。 Atn(number) 取得一个角度的反正切值。 CallByName (object, procname, usecalltype,[args...
SQL语句范例-有关日期的函数,很有用。
sql语句大全:内含常用的sql语句,以及sql系统函数的用法和一些高级查询语句的用法
SQL中用到的函数,学习数据库SQL语句的好教程