数据库 数据库SQL语句二

单行函数
--操作数据对象
--接受参数返回一个结果
--只对一行进行变换
--每行返回一个结果
--可以转换数据类型
--可以嵌套
--参数可以是一列或一个值
字符函数
SQL> select lower(‘HELLO‘) 大写转小写,upper(‘hello2‘) 小写转大写,initcap(‘hellothis world‘) 首字母大写 from dual;
大写  小写转 首字母大写
----- ------ ----------------
hello HELLO2 Hello This World
concat连接函数
--SQL> select ‘hello‘ || ‘world‘ 连接函数1,concat(‘fly‘,‘with‘) 连接函数2 from dual;
连接函数1  连接函
---------- -------
helloworld flywith
substr(a,b)--从a中,第b位开始取
substr(a,b,c)--从a中,第b位开始提取c个字符
SQL> select substr(‘abcdefgh‘,3) result1,substr(‘12345678‘,2,5) result2 from dual;
RESULT RESUL
------ -----
cdefgh 23456
length获取字符数
lengthb获取字节数
一个中文是2个字节
SQL> select length(‘abcde‘),length(‘世界‘),length(‘abcde‘),lengthb(‘世界‘) from dual;
LENGTH(‘ABCDE‘) LENGTH(‘世界‘) LENGTH(‘ABCDE‘) LENGTHB(‘世界‘)
--------------- -------------- --------------- ---------------
              5              2               5               4
lpad()左填充函数
rpad()右填充函数
SQL> select lpad(‘abcd‘,10,‘*‘),rpad(‘abcd‘,10,‘#‘) from dual;
LPAD(‘ABCD RPAD(‘ABCD
---------- ----------
******abcd abcd######
instr(‘母串‘,‘子串‘);在母串中查找子串,返回子串在母串中的位置,找不到返回0。
SQL> select instr(‘abcdef‘,‘de‘) from dual;
INSTR(‘ABCDEF‘,‘DE‘)
--------------------
                   4
trim去掉前后指定的字符,字符可以是空格,也可以不是空格
SQL> select trim(‘h‘ from ‘hehlloh‘) from dual;
--注意去除的是最前后或者最后面的指定字符,中间的不会去除
--注意指定字符区分大小写
TRIM(
-----
ehllo
replace替换
SQL> select replace(‘helloword‘,‘w‘,‘#‘) from dual;
REPLACE(‘
---------
hello#ord
--注意是全局替换,并非只替换一个
数字函数
round:四舍五入
SQL> select round(45.926,2) AA,round(45.926,1) BB,round(45.926,0) CC,round(45.926,-1) DD,round(45.926,-2) EE from dual;
        AA         BB         CC         DD         EE
---------- ---------- ---------- ---------- ----------
     45.93       45.9         46         50          0
-- 1保留到小数点后1位
-- 0保留到个位
-- -1保留到十位
-- -2保留到百位
trunc:截断小数点后面的n位
SQL> select trunc(45.926,1) from dual;
TRUNC(45.926,1)
---------------
           45.9
mod求余
SQL> select mod(4,3) from dual;
  MOD(4,3)
----------
         1
日期函数
oracle中日期类型数据实际含有两个值:日期和时间。
默认的日期格式是 DD-MON-RR
SQL> select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual;
昨天           今天           明天
-------------- -------------- --------------
05-1月 -17     06-1月 -17     07-1月 -17
to_char(‘日期/数字‘,format)把数字或者日期转换成指定格式的字符串
select
    to_char(sysdate-1,‘yyyy-mm-dd hh24:mi:ss‘) 昨天,
    to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) 今天,
    to_char(sysdate+1,‘yyyy-mm-dd hh24:mi:ss‘) 明天
from dual
昨天                今天                明天
------------------- ------------------- -------------------
2017-01-05 22:52:02 2017-01-06 22:52:02 2017-01-07 22:52:02
日期的数学运算
--在日期上加上或减去一个数字结果仍然为日期
--两个日期相减返回日期之间相差的天数
--可以用数字除24来向日期中加上或减去小时
--查询员工入职时间,按照天、周、月、年方式显示
select ename,sysdate-hiredate 天,(sysdate-hiredate)/7 周,
(sysdate-hiredate)/30 月,(sysdate-hiredate)/365 年 from emp
months_between()--两个日期相差的月数
--精确计算员工的入职月数
SQL> select months_between(sysdate,hiredate) 入职月数 from emp;
add_months()--向指定日期中加上若干月数
SQL> select to_char(add_months(sysdate,2),‘yyyy-mon-dd‘) 当前月数加上两个月 from emp;
next_day()--指定日期的下一个日期(天)
--查询当前日期的下一个周一
SQL> select to_char(next_day(sysdate,‘星期一‘),‘yyyy-mon-dd‘) 当前日期的下一个星期一 from dual;
结果
2017-1月 -09
last_day()--本月的最后一天
SQL> select to_char(last_day(sysdate),‘yyyy-mon-dd‘) 当前月数加上两个月 from emp;
round()--日期的四舍五入(按月四舍五入,过月半,则显示下个月)
trunc()--日期截断
时间: 2024-10-08 13:27:28

数据库 数据库SQL语句二的相关文章

在线数据库表(sql语句)生成java实体类工具

相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设计的一定是数据库表结构,而不是实体类.实体类仅仅是对底层数据结构的有损压缩,它仅仅是数据载体,不具备数据归档能力. 因此,很多时候,我们需要将原始的SQL建表语句转换成java实体类,这项工作看似简单,但若人工完成,工作量也是相当可观的,而且难免会出现差错. 到目前为止,笔者还没有发现比较靠谱的此类

SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句

附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', filename='D:\商品管理系统\商品管理数据库_m.mdf', size=6mb,filegrowth=1mb,maxsize=unlimited) log on(name='商品管理数据库_l', filename='D:\商品管理系统\商品管理数据库_l.ldf', size=1,filegrowth=1

清理数据库事务——SQL语句

清除流程内部的所有相关数据 eg1: declare @procedureTemp table ( [ProcedureCode] varchar(10) ) declare @ProcedureCode varchar(10) INSERT into @procedureTemp SELECT ProcedureCode FROM WorkFlowProcedure WHILE EXISTS(select [ProcedureCode] from @procedureTemp) begin -

[数据库]简单SQL语句总结

1.在查询结果中显示列名:a.用as关键字:select name as '姓名'   from students order by ageb.直接表示:select name '姓名'   from students order by age 2.精确查找:a.用in限定范围:select * from students where native in ('湖南', '四川') b.between...and:select * from students where age between 2

在线数据库表(sql语句)生成java实体类工具 - 参考手册

SQL建表语句 说明 格式良好的SQL建表语句,可以是直接从PowerDesigner.Navicat等工具中导出SQL建表语句.所谓格式良好,是指建表指令与表名必须在一行,字段名称.类型.注释必须在一行,因为这个工具是用正则实现的,并不是语法解析器,当然,以后有时间的话,会改进成解析器. 举例 -- ---------------------------- -- Table structure for t_activity -- ---------------------------- DRO

基于ORACLE建表和循环回路来创建数据库存储过程SQL语句来实现

一个.概要 在实际的软件开发项目.我们经常会遇到需要创造更多的相同类型的数据库表或存储过程时,.例如.假设按照尾号点表的ID号,然后,你需要创建10用户信息表,的用户信息放在同一个表中. 对于类型同样的多个表,我们能够逐个建立,也能够採用循环的方法来建立.与之相相应的,能够用一个存储过程实现对全部表的操作.也能够循环建立存储过程,每一个存储过程实现对某个特定表的操作. 本文中,我们建立10个员工信息表.每一个表中包括员工工号(8位)和年龄字段,以工号的最后一位来分表.同一时候,我们建立存储过程实

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

数据库基本----SQL语句大全

学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一.基础 1.说明:创建数据库Create DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 d

MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于excel),用来存放多行内容/多条记录 5. 记录:事物一系列典型的特征 6. 数据:描述事物特征的符号 MySQL数据库就是一个套接字软件,用来管理其他机器上的数据文件 MySQL介绍: MySQL是一个关系型数据库管理系统:就是一个基于socket编写的C/S架构胡软件 客户端软件 mysql