第三章 SQL编程及高级查询(2)

单行函数:对每一个函数应用在表的记录中,只能输入一行结果,返回一个结果

         字符函数:对字符串操作

         数字函数:对数字操作,返回一个数字

         转换函数:可以将一种数据转换另外一种数据类型

         日期函数:对日期进行操作

/**
   字符串常用的方法
*/
--将首字母转换为大写
select initcap('hibaby') from dual;

--将字符转换为小写
select lower('HIBABY') from dual;

--将字符转换为大写写
select upper('hibaby') from dual;

--剪辑...开头的
select ltrim ('xyzadams', 'xyz') from dual;

--剪辑...结尾的
select rtrim ('xyzadams', 'ms') from dual;

--替换字符1(1对1)
select translate ('jkabcd', 'abcd', '1234') from dual;

--替换字符2
select replace ('jack and jue', 'j', 'b23456') from dual;

--查找字符第一次出现的位置(不是下标)
select instr ('worldwide', 'd') from dual;

--从第3个开始截取,截取2个,包头包尾
select substr ('abcdefg',3,2) from dual;

--连接字符串
select concat ('Hello', 'world') from dual;




/**
   数学相关常用的方法
*/
--取绝对值
select abs(-128) from dual;

--向上取整
select ceil(3.01) from dual;

--向下取整
select floor(3.99) from dual;

--四舍五入取整
select round(3.49) from dual;
select round(3.51) from dual;

--保留几位小数
select trunc(88.6812,1) from dual;

--正弦
select sin(1.23) from dual;

--取符号(-1代表负数 1代表正数)
select sign(111) from dual;

--4的平方
select power(4,2) from dual;

--平方根
select sqrt(2) from dual;


/**
  日期相关的函数
*/
--返回俩个日期相差的月份
select months_between ('11-11月-2001','11-1月-1988') from dual;

--返回把月份加到日期上得到一个新的日期
select add_months('11-1月-2001',10) from dual;

--返回下一个星期对应的新日期
select next_day('14-8月-2018','星期一') from dual;

--返回当前日期最大天数
select last_day('14-2月-2016') from dual;
--四舍五入年(按月份相当于是六舍七入)
select round(to_date('20-7月-2018'),'YEAR') from dual;

--四舍五入月(按天相当于是15舍16入)
select round(to_date('16-3月-2018'),'MONTH') from dual;

--四舍五入天(按星期三舍四入)
select round(to_date('16-8月-2018'),'DAY') from dual;

--按年截断,只保留年
select trunc(to_date('06-2月-2018'),'YEAR') from dual;

--按月截断,只保留年月
select trunc(to_date('26-8月-2018'),'MONTH') from dual;

--按星期截断,只保留星期天年月
select trunc(to_date('18-8月-2018'),'DAY') from dual;


/**
  转换
*/
--将数字转换为字符串(固定格式,必须是$999n.99n)
select to_char(123.5,'$999.9') from dual;

--转换为指定的日期类型
select to_date('2018-08-14','yyyy-mm-dd') from dual;

--将字符串转换为数字类型
select to_number('1234.5') from dual;

--nvl(a,b)如果a的值为null,则返回b,不为null返回自己本身
select nvl(null,'hi') from dual;
select nvl('baby','hi') from dual;

--nvl2(a,b,c)
select nvl2('oo','hi','baby') from dual;
select nvl2(null,'hi','baby') from dual;

--decode(如果value的值为if1,则返回then1的值,
--如果value的值为if2,则返回then2的值,……,
--否则返回else值)
select decode(12,12,120) from dual;
select decode(12,11,110,13,130,12,120) from dual;

 

聚合函数:聚合函数同时对多行数据进行操作,并返回一个结果

 

事务

         作为单个逻辑单元执行一系列操作,即把若干条语句放在同一单元模块中,形成一个不可分割的工作单元.如果事务提交成功,则该事务所有更改均会提交;如果事务遇到异常取消或者回滚,则所有操作均失败.

事务是一种操作数据的机制,是数据处理的最小工作单位

         事务操作

--事务操作
insert into students values(1 ,'Li' ,23,'12-11月-1993','newyork',2);
--设置保存标记点
savepoint t1;
insert into students values(2, 'Song' ,21 ,default,'Dali',3);
--设置保存标记点
savepoint t2;
update students set bir=to_date('29-6-1976','dd-mm-yyyy') where id=2;
--回滚事务到标记点
rollback to savepoint t2;
rollback to savepoint t1;
--回滚所有事务
rollback;
--提交事务,新事物启动;回滚命令失效
commit;
select * from students;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第1章《认识java语言》是介绍Java语言的起源、发展以及特点等基本知识。Java是一种跨平台的高级编程语言,被广泛应用于开发Web和移动应用程序等领域。它具有面向对象、可移植、健壮性好等特点。 第2章《Java语言基础》是介绍Java语言的基本语法、数据类型、运算符、控制流程等内容。学习这些基础知识对于理解和编写Java程序至关重要。 第3章《面向对象程序设计之一》是介绍面向对象编程的原理和基本概念。学习面向对象的思想和方法可以提高程序的可扩展性和重用性。本章内容包括类与对象、封装、继承、多态等知识点。 第4章《面向对象程序设计之二》是进一步探讨面向对象编程高级特性。学习抽象类、接口、内部类等内容可以让我们写出更加灵活和健壮的Java程序。 第5章《Java基础类库》是介绍Java标准库中的常用类和接口。掌握这些类的使用方法可以大大简化程序开发,如字符串处理、集合框架、IO操作等。 第6章《图形用户界面程序》是介绍使用Java编写图形用户界面(GUI)程序的方法。学习Swing和JavaFX等技术可以实现丰富、直观的用户界面。 第7章《输入输出流》是介绍Java中的输入输出操作。学习文件读写、网络通信等知识可以实现数据的持久化和交互。 第8章《多线程并发编程》是介绍Java多线程编程的原理和方法。学习多线程操作可以充分利用多核处理器的优势,提高程序的并发性和响应性。 第9章《网络编程》是介绍使用Java进行网络通信的方法。学习Socket编程、HTTP协议等内容可以开发出基于网络的应用程序。 第10章《数据库编程》是介绍使用Java连接和操作数据库的方法。学习JDBC等技术可以实现与数据库的交互,进行数据持久化和查询。 通过学习这些章节的内容,可以全面掌握Java语言的基础知识和常用技术,为进一步深入学习和应用Java打下良好的基础。 ### 回答2: 第1章:认识Java语言 第1章介绍了Java语言的基本概念和特点。Java是一种跨平台的编程语言,被广泛应用于Web开发、移动应用开发等领域。Java具有简单易学的特点,使用了面向对象的编程思想,具有良好的可扩展性和可维护性。 第2章:Java语言基础 第2章主要介绍了Java语言的基本语法和常用的数据类型。包括变量、常量、运算符、流程控制语句等。同时还介绍了Java中的数组、字符串和输入输出等相关知识。 第3章:面向对象程序设计之一 第3章介绍了面向对象程序设计的基本概念和常用的面向对象的特性。包括类、对象、继承、封装和多态等。同时还介绍了如何定义和使用类,以及如何实现各种面向对象的特性。 第4章:面向对象程序设计之二 第4章进一步深入介绍了面向对象程序设计的相关知识。包括接口、抽象类、继承和多态的高级应用,以及异常处理和内部类等。这些知识对于构建复杂的面向对象程序非常重要。 第5章:Java基础类库 第5章介绍了Java基础类库中常用的类和方法。包括字符串、日期、时间、集合、文件和输入输出等类库的使用。这些类库为我们提供了丰富的功能,在Java编程中非常实用。 第6章:图形用户界面程序 第6章介绍了Java图形用户界面编程的相关知识。包括Swing和AWT等GUI库的使用,以及事件处理和布局管理器等。通过学习这些知识,我们可以编写出漂亮、交互性强的图形界面程序。 第7章:输入输出流 第7章介绍了Java中输入输出流的使用。包括字节流和字符流的概念、File类的使用以及文件读写和网络通信等。这些知识对于实现数据的读写和传输非常重要。 第8章:多线程并发编程 第8章介绍了Java多线程并发编程的相关知识。包括线程、线程同步和线程通信的概念,以及锁和条件的使用。同时还介绍了线程池的概念和使用,以及如何处理并发编程中的常见问题。 第9章:网络编程 第9章介绍了Java网络编程的基本知识。包括Socket编程、TCP和UDP协议,以及HTTP协议的使用。通过学习这些知识,我们可以编写出具有网络功能的Java应用程序。 第10章:数据库编程 第10章介绍了Java数据库编程的相关知识。包括连接数据库、执行SQL语句、事务处理和数据查询等。通过学习这些知识,我们可以使用Java操作各种类型的数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值