- 浏览: 469603 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
此去经年雪123:
为啥生成的是乱码 你好
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
alonglw:
zxf0089216 写道1.为什么每次都是10001RSAK ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
zxf0089216:
1.为什么每次都是10001RSAKeyPair(" ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
dunhanson:
后台的测试main方法都能加密解密。前台加密后的密文交给后台解 ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
map612:
wula0010 写道仔细看了下,可以运行RSAUtil.ma ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
可以作下列事情: 描述SQL中可用的不同函数类型 在select语句中使用字符、数字和日期函数 描述转换函数的应用 函数是SQL非常有用的特性,可以实现下列功能: 执行数据的计算 编辑单独的数据项 操作多行的输出(Manipulate output for groups of rows) 格式化日期和数字的显示 转换数据类型 SQL函数有时候需要参数,但是总会返回一个值;过程主要是完成一个事件 单行函数:操作数据项;接受参数并返回一个值;作用于每一个返回的行;每行返回一个结果;可能会改变数据类型;可以嵌套;可以使用用户定义的常量、变量值、列名或者表达式作为参数 单行函数分为字符函数、数字函数、日期函数、转换函数和一般函数,可以在select, where, order by子句中使用 一般函数:NVL,NVL2,NULLIF,COALSECE,CASE,DECODE 字符函数接受字符数据,返回字符或者数字。字符函数分为大小写转换函数(Lower, Upper, Initcap首字目大写)和字符串操作函数(concat, substr, length, instr, lpad/rpad, trim, replace)。 SUBSTR(column|expression,m[,n])->返回从m开始的n个字符;若m为负值,则从末尾开始数m INSTR(column|expression,'string', [,m], [n] )->从m位置开始寻找第n个string字符(串)(缺省m,n为1) LPAD/RPAD(column|expression, n,'string')->扩展到n个字符宽,不足部分使用string字符添加 TRIM(leading|trailing|both, trim_character FROM trim_source)->删除前导字符串,如果后面的trim_character和trim_source都是literal字符串,一定要使用单引号包围起来 REPLACE(text,search_string,replacement_string)->替换 CONCAT('Hello', 'World') -> HelloWorld SUBSTR('HelloWorld',1,5) -> Hello LENGTH('HelloWorld') -> 10 INSTR('HelloWorld', 'W') ->6 LPAD(salary,10,'*') -> *****24000 RPAD(salary, 10, '*') -> 24000***** TRIM('H' FROM 'HelloWorld') -> elloWorld 数字函数:Round圆整,Trunc截断,Mod取模 ->其中Round, Trunc也可以用于日期函数 ROUND(column|expression, n)->四舍五入到n为小数,如果n为负值,则从小数点向左边数 round(345.23,-3)=0; round(345.23,-2)=300; round(345.23,-1)=350; round(345.23)=345 TRUNC(column|expression,n)->截断到n为小数,如果n为负值,则从小数点向左边数 trunc(345.23,-3)=0; trunc(345.23,-2)=300; trunc(345.23,-1)=340; trunc(345.23)=345 测试函数或者计算结果时可以使用dual这个虚假的表 SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL; Oracle数据库内部以下列方式存储日期: 世纪,年,月,日,小时,分,秒,缺省的日期格式为DD-MON-RR 当插入日期函数时,世纪值自动从sysdate函数(返回当前数据库服务器的日期和时间)取得 允许的日期和数字的操作: date + number, date - number, date - date, date + number/24 日期函数: MONTHS_BETWEEN(date1, date2)->两个日期间的月份,注意月份为中文的情况 ADD_MONTHS(date, n)->添加月份 NEXT_DAY(date, 'char')->找到下一个星期几(可以为数字或者字符串) LAST_DAY(date)->发现包含date所在月份的最后一天 ROUND(date[,'fmt'])->圆整到格式中所指定的单位,省略的话圆整到最近的天 TRUNC(date[, 'fmt'])->截断到格式中所指定的单位,省略的话截断到最近的天 假定SYSDATE = '25-JUL-95': • ROUND(SYSDATE,'MONTH') -> 01-AUG-95 • ROUND(SYSDATE ,'YEAR') -> 01-JAN-96 • TRUNC(SYSDATE ,'MONTH') -> 01-JUL-95 • TRUNC(SYSDATE ,'YEAR') -> 01-JAN-95 转换函数 隐式转换和显式转换(data type to data type) 尽管隐式转换可以使用,推荐使用显式转换以使得SQL语句更可靠 隐式转换:VARCHAR OR VARCHAR2 -> NUMBER; VARCHAR OR VARCHAR2 -> DATE NUMBER -> VARCHAR2; DATE -> VARCHAR2 显式转换: TO_CHAR(number|date,[ fmt],[nlsparams]) TO_NUMBER(char,[fmt],[nlsparams]) TO_DATE(char,[fmt],[nlsparams]) The nlsparams parameter specifies the following characters, which are returned by number format elements: · Decimal character · Group separator · Local currency symbol · International currency symbol TO_CHAR(date, 'format_model')->格式模式是大小写敏感的,必须使用单引号包围,一定要使用逗号把格式和日期值间隔开来,使用fm可以把前面的空格或者零压缩掉 日期格式模式: CC (世纪),YYYY,YYY,YY,Y(四个数字表示的年份;分别表示使用4位、后3位、后两位和后一位来表示年份),YEAR(拼写的年份),Q(季节),MM(两个数字表示的月份),MONTH(月份全名,九个字符长),MON(月份的三字缩写),RM(罗马数字表示的月份),WW(一年的第几个星期),W(月份的第几个星期),DY(星期的三字缩写),DAY(星期全称,九个字符长),DDD(一年的第几天),DD(一个月的第几天),D(一星期的第几天) BC,B.C.,AM,A.M.,HH,HH12,HH24,MI,SS,SSSSS(午夜过后的秒数) HH24:MI:SS AM -> 15:45:32 PM; DD "of" MONTH -> 12 of OCTOBER; /.,"of the" -->标点和引用的字符会在日期中原样输出 DDspth -> fourteenth; DDth -> 4th; DDsp -> four SELECT last_name, TO_CHAR(hire_date, 'fmDD Month YYYY') HIREDATE FROM employees; TO_CHAR(number, 'format_model') 9:代表数字 0:强制显式0 $:显示$符号 L:显示本地货币符号 .:打印小数点 ,:显示千位的分隔符 当值大于给定格式的位数时,Orale数据库会把整个数字显式为# TO_DATE(char[, 'format_model']) ->有个fx限制符,使用后必须精确的匹配,包括前后的空格个数 RR日期格式: ________|_____给定年份_________________ 当前年份|____0~49___|____50~99_______ 0~49___|___Current__|____Before_______ 50~99__|____Next____|____Current______ 单行函数可以嵌套任意层,从最内层开始计算 SELECT TO_CHAR(NEXT_DAY(ADD_MONTHS (hire_date, 6), 'FRIDAY'), 'fmDay, Month DDth, YYYY') "Next 6 Month Review" FROM employees ORDER BY hire_date; 一般函数可以使用任何数据类型,并且可以使用NULL NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,原样返回。注意两者的类型要一致 NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型 NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1 COALESCE (expr1, expr2, ..., exprn) ->返回第一个不为NULL的表达式,各个表达式类型一致 条件表达式 CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr] END "alias_name" ->此处可以指定一个别名 如果没有任何一个条件匹配,而且没有ELSE子句,那么返回NULL(不能在上面返回的表达式中使用literal NULL)。上面所有的表达式都必须为同一种数据类型 DECODE(col|expression, search1, result1 [, search2, result2,...,] [, default]) "alias_name" ->此处可以指定一个别名 练习(答案在卷2的288页) 1. select sysdate "Date" from dual; 2. select employee_id, last_name, salary, round(salary+salary*0.15) "New Salary" from employees; 4. select employee_id, last_name, salary, round(salary+salary*0.15) "New Salary", round(salary+salary*0.15)-salary "Increase" from employees; 5. select initcap(last_name) "Name", length(last_name) "Length" from employees where substr(initcap(last_name),1,1) in('J','A','M') order by last_name; 注意后面字母的单引号!! 答案: SELECT INITCAP(last_name) "Name", LENGTH(last_name) "Length" FROM employees WHERE last_name LIKE 'J%' OR last_name LIKE 'M%' OR last_name LIKE 'A%' ORDER BY last_name; 6. select last_name,round(months_between(sysdate,hire_date)) "MONTHS_WORKED" from employees order by "MONTHS_WORKED"; 注意使用前面的日期减去后面的日期 7. select last_name||' earns '||to_char(salary,'$999,999.99')||' monthly but wants '||to_char(salary*3,'$999,999.99')||'.' "Dream Salaries" from employees; 单引号!! 8. select last_name,LPAD(salary,15,'$') salary from employees; 9. select last_name, hire_date, to_char(next_day(add_months(hire_date,6),'monday'),'fmDay, "The" Ddspth "of" fmMonth, YYYY') review from employees; 如果要在next_day中使用数字,按英国的习惯星期天为1 10. select last_name, hire_date, to_char(hire_date,'DAY') day from employees order by to_char(hire_date-1, 'D'); 注意后面排序的使用 11. select last_name,nvl(to_char(commission_pct),'NO COMMISSION') COMM from employees 注意这里格式一定要一致 12. select last_name||' '||lpad(' ',salary/1000+1,'*') "EMPLOYEES_AND_THEIR_SALARIES" from employees order by salary desc 此题看了答案才知道,惭愧 13. select job_id,decode (job_id, 'AD_PRES', 'A', 'ST_MAN', 'B', 'IT_PROG', 'C', 'AS_REP', 'D', 'ST_CLERK', 'E','O') G from employees 注意decode要使用小括号,表达式之间使用逗号间隔 14. select job_id,case job_id when 'AD_PRES' then 'A' when 'ST_MAN' then 'B' when 'IT_PROG' then 'C' when 'AS_REP' then 'D' when 'ST_CLERK'then 'E' else 'O' end G from employees
发表评论
-
Oracle 百万行数据查询优化
2011-08-31 13:16 15321.对查询进行优化, ... -
【转载】ORACLE误删数据的恢复
2011-03-18 22:29 1753一、利用SCN恢复 ... -
利用数据库将字符串分割成Table函数
2011-03-14 15:54 16211、Oracle中 创建代码: create or rep ... -
oracle10如何查出历史记录中执行效率低的SQL语句
2011-03-01 18:56 2792解决oracle10g运行慢、 ... -
Oracle、SqlServer、MySql临时表小结
2011-01-22 12:04 25031、Oracle临时表 Oracle临时表分为两种 ... -
[转]Oracle的JDBC驱动的版本你了解吗?
2010-11-17 15:31 1043在使用Oracle JDBC驱动时,有些问题你是 ... -
(转)Oracle中PFILE和SPFILE的使用
2010-10-28 08:50 2567在9i以前,Oracle使用pfile存储初 ... -
关于Oracle10.2.0自行启动两个监听进程导致服务中断问题
2010-09-01 16:12 3188环境: AIX6.1 Oracle Database ... -
笔记:查看Oracle表空间使用率的sql
2010-07-14 17:41 1969SELECT UPPER(F.TABLESPACE ... -
Oracle中如何使用DBLink连接不同的实例
2010-05-22 10:06 4446实际生产过程中,通常会遇到不同数据库之间进行数据交换的问题,有 ... -
Oracle10g只有数据文件的恢复方式
2010-03-22 14:42 2389待完成。 1、首先安装一个全新的ORACLE,包 ... -
一个Oracle分页的存储过程
2010-02-03 16:54 1464Oracle下通用的分页脚本: CREATE OR R ... -
Oracle用户锁定/解锁
2009-12-28 09:40 3270解锁/锁定命令 ALTER USER ECODE ACCOU ... -
如何查看Oracle某时刻的客户端连接情况并显示客户端IP
2009-12-18 15:18 139631、查看每个oracle帐 ... -
Oracle存储过程中使用临时表
2009-12-18 08:51 13445一、Oracle临时表知识 在O ... -
深入浅出理解索引结构
2009-10-24 20:31 892深入浅出理 ... -
Oracle修改存储空间相关sql
2009-09-23 11:23 14561、查看表空间情况: ... -
Linux下Oracle10g不能启动之 could not open parameter file
2009-08-19 18:00 5931今天开发服务器突然连接不上,sqlplus /nolog、co ... -
Oracle的分区管理
2009-06-12 15:53 1049一、 分区概述: 为了简化数据库大表的管理,ORA ... -
Oracle创建索引 小贴士
2009-06-12 15:46 2718索引( Index )是常见的数 ...
相关推荐
### ORACLE单行函数和组函数详解 #### 一、概述 在Oracle数据库中,函数是一种重要的编程元素,用于执行特定任务并返回结果。根据其处理数据的方式不同,可以将Oracle函数大致分为两类:单行函数和组函数(也称聚合...
### Oracle 第四章 单行函数 #### 一、引言 在Oracle数据库的学习过程中,了解并掌握单行函数是非常重要的一步。单行函数是指针对每一行的数据进行处理,并返回一个处理结果的函数。这类函数在查询语句中非常常见,...
Oracle数据库系统提供了丰富的单行函数,这些函数在日常的编程和数据处理中极为重要。本文主要介绍Oracle中的字符函数、数学函数、日期函数以及转换函数。 首先,让我们详细探讨字符函数。字符函数主要用于处理字符...
### Oracle数据库单行函数知识点详解 #### 一、数值处理函数 **1. ROUND 函数** - **功能描述:** `ROUND` 函数用于对数值进行四舍五入操作,可以指定四舍五入的精度。 - **语法结构:** `ROUND(number, ...
在这个“Oracle查询练习(单行,函数查询)”中,我们将深入探讨两种关键的查询技术:单行函数和组函数。 单行函数主要应用于对单个值进行操作并返回一个新值。这些函数广泛用于数据转换、计算和格式化。例如,`...
Oracle 单行函数详解 本章要点包括字符函数、数字函数、日期函数、转换函数和通用函数等单行函数。 字符函数 字符函数用于处理字符串,包括大小写处理函数和字符处理函数。大小写处理函数可以将字符串转换为大写...
oracle笔记单行函数,oracle中单行函数有哪些,如何使用,具体案例和代码!
### Oracle_PL(SQL)单行函数和组函数及使用 #### 一、概述 在Oracle数据库中,SQL 和 PL/SQL 提供了大量的内置函数,这些函数可以极大地提高开发效率和简化查询逻辑。根据处理数据的不同方式,这些函数可以分为...
本篇文章将详细讲解PL/SQL中的单行函数和组函数。 首先,单行函数是针对单行数据进行操作的函数,它们可以应用于SQL查询的不同部分,如SELECT、WHERE、ORDER BY等。例如,`TO_CHAR`函数用于格式化日期或数值输出,`...
这些只是Oracle单行函数的一小部分,实际上还有更多如`SUBSTR`、`LENGTH`、`TRIM`、`REPLACE`等用于字符串操作的函数,以及`ROUND`、`MOD`、`ABS`等用于数值计算的函数,以及日期时间处理的函数,如`TO_DATE`、`...
总的来说,理解并熟练运用Oracle的单行函数和组函数对于数据库管理和开发至关重要。通过这些函数,我们可以更有效地处理数据,创建复杂的查询,优化性能,以及构建复杂的业务逻辑。不断学习和实践,将有助于提高你在...
Oracle数据库中的单行函数是SQL查询中不可或缺的一部分,它们用于处理单行数据并返回单一结果。这些函数可以操作字符、数字和日期数据类型,帮助我们完成数据转换、格式化和计算等多种任务。以下是对这些单行函数的...
Oracle 函数大全 Oracle 函数大全是 Oracle 数据库管理系统中的一系列函数,...本文档中还介绍了更多的单行函数和组函数,详细的讲解了每个函数的使用方法和示例代码,为开发者提供了一个 Oracle 函数大全的参考手册。
分析函数在处理报表和数据迁移任务时尤其有用,因为它们可以基于分组计算聚合值,并为每个分组返回多行,而不仅仅是单行结果。这种功能在处理大量数据时提供了更精细的控制和丰富的信息。 分析函数主要分为以下几类...
单行函数在Oracle中用于处理单行数据,适用于SELECT、WHERE、ORDER BY等SQL语句。例如,`TO_CHAR`函数可以将日期转换为特定格式的字符串,`UPPER`函数将字符串转换为大写,而`SOUNDEX`函数则用于根据发音对字符串...
Oracle 分析函数是一种强大的SQL工具,它允许你在处理数据时执行复杂的分析操作,而不像聚合函数那样仅仅返回单行结果。分析函数在Oracle 8.1.6版本中被引入,自那时起,它们已经成为数据库查询和报表生成的重要组成...
这些函数主要分为两大类:单行函数和多行函数(也称为聚合函数)。单行函数通常用于处理表中的每一行数据,并返回一个结果;而多行函数则基于一组或多行数据执行特定的计算,并返回一个单一的汇总值。 #### 二、...
### SQL 单行函数详解 #### 一、引言 SQL 单行函数是在 SQL 查询中经常使用的一类工具,它们对于数据的处理至关重要。单行函数的特点在于它们每次只处理一行数据,并针对该行返回一个结果。这些函数广泛应用于各种...
里面有详细的oracle函数 1、Oracle数据类型 2、Oracle函数分为单行函数和多行函数两大类(sql_function) 单行函数分类 字符函数 数值函数 日期函数 转换函数 通用函数 函数嵌套 分组函数:集合操作符(了解) 实现...