ORACLE 笔记
2016-06-14 23:57
447 查看
001、空字符的用法
建立表如下:Create table T_N (F_ID VARCHAR2(2));插入空字符:Insert into T_N Values (CHR(32));
查询表内容:Select * from T_N;得到一个空字符组成的记录,而不是NULL。
另外一种方法是:
Select CHR(32) From T_N;
注意必须有一张表作为 From 的内容,这个和SQL Server是有差别的。
002、日期显示的设置
ORACLE 的 DATE 类型的显示方式取决于 NLS_DATE_FORMAT 初始化参数的设置, 可以设置为:1、数据库级别:如果希望所有人都看到某种格式的数据。
ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
2、SESSION级别:如果只是希望自己看到某种格式而不影响其他人看到的结果,则设置为:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
注意只是当前登录状态有效。
003、日期转换语句
TO_DATE('2016-06-07 14:54:23','YYYY-MM-DD HH24:MI:SS') TO_DATE('2016-06-07','YYYY-MM-DD')
004、赋值方法
SELECT 0,0,0,0 INTO I ,J, K, M FROM DUAL; 可以实现同时给多个变量赋值.
005、输出执行SQL的中间结果
SET SERVEROUTPUT ON; BEGIN DBMS_OUTPUT.PUT_LINE('可以看到输出的结果了'); END;
006、可以这样定义变量
DECLARE I NUMBER;J NUMBER; BEGIN SELECT 1,2 INTO I,J FROM DUAL; DBMS_OUTPUT.PUT_LINE('可以看到输出的结果了'); DBMS_OUTPUT.PUT_LINE(I+J); END; / 得到: 可以看到输出的结果了 3
007、判断字符串位置
关于 Oracle 中字符串函数的使用 INSTR,LENGTH,LEAST,GREATEST,SUBSTR,REPLACE
SELECT INSTR('AA:BB',':') FROM DUAL; SELECT INSTR('ABCDABCDAEF', 'AB',3) FROM DUAL; -- 返回结果是:5,从3开始查找AB SELECT INSTR('ABCDABCDAEF', 'AB') FROM DUAL; -- 返回结果是:1,因为instr字符串索引从1开始,所以是1不是0 SELECT INSTR('ABCDABCDAEF', 'DA',1,2) FROM DUAL; -- 返回结果是:8,返回第二次出现'DA'的位置
008、获得字符串长度
SELECT LENGTH('AAAA') FROM DUAL;
009、求取给定参数中最小值
SELECT Least(21,25,45,5,8) FROM DUAL;
010、求取给定参数中最大值
SELECT Greatest(21,25,45,5,8) FROM DUAL;
011、截取字符串
SELECT SUBSTR('ABCDEFG', 1, 3) FROM DUAL; -- 返回结果是:ABC,从1位开始往后截取3个字符长度 SELECT SUBSTR('ABCDEFG', 0, 3) FROM DUAL; -- 返回结果是:ABC,从1位开始往后截取3个字符长度 SELECT SUBSTR('ABCDEFG', 1) FROM DUAL; -- 返回结果是:ABCDEFG,从0位开始截取后面所有 SELECT SUBSTR('ABCDEFG', -3) FROM DUAL; -- 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串 SELECT SUBSTR('ABCDEFG', 1,100) FROM DUAL; -- 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果
012、替换字符串:replace
SELECT REPLACE('ABCDEFG', 'CDE', 'cde') FROM DUAL; -- 返回结果是:ABcdeFG SELECT REPLACE('ABCDEFG', 'CDE', '') FROM DUAL; -- 返回结果是:ABFG,CDE被替换成空字符 SELECT REPLACE('ABCDEFG', 'CDE') FROM DUAL; -- 返回结果是:ABFG,当不存在第三个参数时,CDE直接被删掉
013、查看scott用户的默认表空间、临时表空间
select username,default_tablespace,temporary_tablespace from dba_users where upper(username) IN ('PAUL','JWSOFT_DZSW'); select username,privilege,admin_option from user_sys_privs where upper(username) IN ('PAUL','JWSOFT_DZSW','SCOTT');
014、测试
CREATE OR REPLACE PROCEDURE P_GETN is uC CHAR(1); uD VARCHAR2(20); BEGIN uC := ''''; EXECUTE IMMEDIATE 'SELECT 1252 FROM DUAL' INTO uD; DBMS_OUTPUT.PUT_LINE(uD||uC); END P_GETN;
015、四色五入
<pre name="code" class="sql">SQL> SQL> SELECT 2 1 序号,TRIM(TO_CHAR(58.9462,'999.99'))||'%' 格式化,ROUND(58.9462,2) 四舍五入,TRUNC(58.9462,2) 截断 3 FROM DUAL 4 UNION 5 SELECT 6 2 序号,TRIM(TO_CHAR(58.9442,'999.99'))||'%' 格式化,ROUND(58.9442,2) 四舍五入,TRUNC(58.9462,2) 截断 7 FROM DUAL 8 UNION 9 SELECT 10 3 序号,TRIM(TO_CHAR(58.9042,'999.99'))||'%' 格式化,ROUND(58.9042,2) 四舍五入,TRUNC(58.9062,2) 截断 11 FROM DUAL 12 ORDER BY 序号; 序号 格式化 四舍五入 截断 ---------- -------- ---------- ---------- 1 58.95% 58.95 58.94 2 58.94% 58.94 58.94 3 58.90% 58.9 58.9 SQL>
相关文章推荐
- 卸载oracle11g client
- ORACLE表空间的使用情况
- pl/sql连接oracle配置
- oracle 数据库用户登录相关
- Oracle中sql相关的命令
- Oracle数据库设计第三范式
- oracle创建库和表
- oracle创建库和表
- oracle创建库和表
- Oracle dump 分析secondary key
- Oracle dump 分析secondary key
- Oracle dump 分析secondary key
- Oracle学习 第6天之高级查询
- Oracle 验证IOT表数据存储在主键里
- Oracle 验证IOT表数据存储在主键里
- Oracle 验证IOT表数据存储在主键里
- Oracle数据库语句大全
- Oracle heap 表的主键 dump 分析
- Oracle heap 表的主键 dump 分析
- 用oracle安装包自带的unzip文件 解压oracle的zip安装包