--创建一个accout账户表
CREATE TABLE account(
id NUMBER(9) NOT NULL,
recommender_id NUMBER(9),
login_name VARCHAR2(30) NOT NULL,
login_passwd VARCHAR2(8) NOT NULL,
status CHAR(1) NOT NULL,
create_date DATE DEFAULT SYSDATE,
pause_date DATE,
close_date DATE,
real_name VARCHAR2(20) NOT NULL,
idcard_no CHAR(18) NOT NULL,
birthdate DATE,
gender CHAR(1) NOT NULL,
occupation VARCHAR2(50),
telephone VARCHAR2(15) NOT NULL,
email VARCHAR2(50),
mailaddress VARCHAR2(50),
zipcode CHAR(6),
qq VARCHAR2(15),
last_login_time DATE,
last_login_ip VARCHAR2(15)
);
--表重命名
RENAME account TO t_account;
--增加一列
desc t_account;
ALTER TABLE t_account ADD(bak VARCHAR2(50));
desc t_account;
--修改默认值
ALTER TABLE t_account MODIFY(bak VARCHAR2(40) DEFAULT 'login');
desc t_account;
--删除
ALTER TABLE t_account DROP(bak);
desc t_account;
--插入数据
INSERT INTO t_account(id,login_name,login_passwd,status,create_date,real_name,gender,idcard_no,telephone)
VALUES(1,'souvc','','',TO_DATE('2016-01-28','yyyy-mm-dd'),'daliu','F','',''); SELECT * FROM t_account ;
--更新表数据
UPDATE t_account
SET login_passwd=''
WHERE id=1; SELECT * FROM t_account ;
--删除表数据
DELETE FROM t_account
WHERE id=1;
SELECT * FROM t_account ;
--"||"在数据库中是连接字符串,相当于java中的"+"
--注意和java中的"||"区分。
--例如:
--java中 "hello"+"world" ==> "helloworld"
--DB中 ‘hello’||'world' ==> 'helloworld'
--oracle中 CONCAT('hello','world') ==>'helloworld'
--'think'||'in'||'java' CONCAT(CONCAT('think','in'),'java');
--快速入门SELECT
SELECT * FROM t_account;
SELECT * FROM emp_souvc; --指定查询表中的某几列
SELECT id,status FROM t_account; --只查询特定的列的值
SELECT id,job FROM emp_souvc; --虚表
--DUAL:虚表,没有这么一个表,只为了满足 --SELECT的语法要求。
--我们常用虚表来测试表达式的结果。
--在数据库中,我们想测试某个表达式的结果只能
--使用SELECT语句来实现。
SELECT 'hello'||'world' FROM DUAL SELECT id||':'||job FROM emp_souvc; SELECT CONCAT(CONCAT(id,':'),job)
FROM emp_souvc;
--LENGTH函数
SELECT id,LENGTH(job) FROM emp_souvc;
desc emp_souvc;
--UPPER,LOWER,INITCAP函数
SELECT
UPPER(id),
LOWER(job),
INITCAP(NAME)
FROM emp_souvc;
--TRIM,RTRIM 函数
--参数中from前面只能是单一字符
--若没有from以及前面的字符,则是去除空白
SELECT TRIM('e' from 'eeeeeliteeeeee')
FROM DUAL; SELECT RTRIM('eeeeliteeeee','e')
FROM DUAL;
--LPAD,LPAD补齐函数
--显示20个字符,不够左边不若干空格
--AAAAA
SELECT LPAD(id,20,'$')
FROM emp_souvc; SELECT LPAD('aaaaAAAAAA',5,'$')
FROM DUAL; --作用:要求显示20个字符,若sal的值不足长度,则
--补充若干个'$',以达到20个字符 SELECT RPAD('aaaaAAAAAA',5,'$')
FROM DUAL;
--INSTR函数
SELECT
INSTR('Doctor Who Who Who', 'Who',9,2)
FROM DUAL;
--时间函数的用法
SELECT SYSTIMESTAMP FROM DUAL; --TO_DATE函数的用法
SELECT
TO_DATE( '2008-08-12 22:45:33','yyyy-mm-dd hh24:mi:ss')
FROM
DUAL; --TO_CHAR函数的用法
--在日期格式字符串中,出现的非关键字符或符号的其他字符时,需要使用双引号。
SELECT
TO_CHAR(sysdate, 'yyyy"年"mm"月"dd"日" hh:mi:ss' )
FROM dual; --两个日期可以进行减法操作,差为相差的天数。
SELECT sysdate-BIRTH,id
FROM emp_souvc; --MONTHS_BETWEEN函数
SELECT id,
MONTHS_BETWEEN(SYSDATE, BIRTH)
FROM emp_souvc; --NEXT_DAY函数
--获取距离当前时间最近的周4,若给定的当前时间恰巧是周4,则表示的是下周的周4
SELECT NEXT_DAY(SYSDATE,5)
FROM dual;
--处理空值的函数
--任何值都不能等于null
SELECT *
FROM emp_souvc
WHERE gender IS NOT NULL; --NVL函数的作用:将null替换为给定值
SELECT name,NVL(gender,'M')
FROM emp_souvc; SELECT id,job,NVL(gender,0)
FROM emp_souvc;

有点类似java这种函数吧:

public Object nvl(Object e1,Object e2){
if(e1==null){
return e2;
}else{
return e1;
}
}
SELECT id,SALARY+NVL(SALARY,0)
FROM emp_souvc; SELECT SALARY,NVL2(SALARY,'有奖金','没奖金')
FROM emp_souvc;

oracle学习笔记系列------oracle 基本操作之基本函数的用法的更多相关文章

  1. oracle学习笔记系列------oracle 基本操作之表的增删改查

    --创建一个表 CREATE TABLE employee_souvc( id ), name ), gender ), birth DATE, salary ,), job ), deptno ) ...

  2. oracle学习笔记系列------oracle操作例子的专用表

    CREATE TABLE dept( deptno ), dname ) , loc ) ) ; CREATE TABLE emp( empno ), ename ), job ), mgr ), h ...

  3. 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子

    1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...

  4. 6. oracle学习入门系列之六 模式

    oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...

  5. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  6. 7.oracle学习门户系列七---网络管理和配置

    oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上 ...

  7. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  8. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  9. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

随机推荐

  1. WebSocket connection to,Error during WebSocket handshake: Unexpected response code: 404

    使用标准的JSR 356注解时,需要使用tomcat 8.x版本,如果使用tomcat 7.x的版本,则需要继承WebSocketServlet,否则会报WebSocket connection to ...

  2. easyui datagrid toolbar 添加搜索框

    最近用到了就研究了下,效果  把列名稍加转换放入menubtton,对于单项搜索来说还是非常方便的 var fields =  $('#tt').datagrid('getColumnFields') ...

  3. 浅谈spring security 403机制

    403就是access denied ,就是请求拒绝,因为权限不足 三种权限级别 一.无权限访问 <security:http security="none" pattern ...

  4. jQuery Layer mobile 弹出层

    layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...

  5. NativeScript - JS 构建跨平台的原生 APP

    使用 NativeScript,你可以用现有的 JavaScript 和 CSS 技术来编写 iOS.Android 和 Windows Phone 原生移动应用程序.由原生平台的呈现引擎呈现界面而不 ...

  6. 你应该知道的10个奇特的 HTML5 单页网站

    网页设计师努力寻找新的方式来展现内容.其中一个大的趋势是单页网站,现在被世界上的一些大的品牌广泛采用,使用它们来为用户提供一个快速,干净和简单的而且​​美丽的网站. 下面是10个令人惊叹的单页 H​​ ...

  7. Web安全之CSRF攻击

    CSRF是什么? CSRF(Cross Site Request Forgery),中文是跨站点请求伪造.CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任, ...

  8. ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)

    Stop 命令 使用该命令的程序位置 INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中 处理说明 1. 当在INITIAL ...

  9. 如何排查sharepoint2010用户配置文件同步服务启动问题

    用户配置文件同步服务与 Microsoft Forefront Identity Manager (FIM) 交互,以与外部系统(如目录服务和业务系统)同步配置文件信息.启用用户配置文件同步服务时,将 ...

  10. Atitit。Web server Jetty9 使用 attilax 总结

    Atitit.Web server Jetty9 使用 attilax 总结 1.1. 静态文件的资源1 1.2. Servlet使用1 1.3. code1 1.1. 静态文件的资源 WebAppC ...