本文由 发布,转载请注明出处,如有问题请联系我们! 发布时间: 2021-08-01oracle数字转字符串函数-oracle基础面试题
加载中知识要点:
1.1中较常用的标识符解决作用。甲骨文字(2)。
To_char():将其他类型的数据交换为标识符种类。
100 '标识符。
100十位数
To_char (number:)将数据转换为标识符开展表明。
挑选to _ char (1000000) | |“我将来的薪水”。
从对偶
2.在…中间。也有…
实例:在emp表格中找到薪水在2000到5000中间的全部职工的总数.名字.岗位和薪水。
–挑选empno.ename.job.sal
来源于电磁脉冲
萨尔在2000到5000年间
初值和最后值中间的字段名。
此列的列值是以初值到最后值的全部列值。
实例:在emp表格中查看全部序号在7499到7902中间的职工的序号.名字.岗位和新员工入职時间,最终依照序号降序排序。
—挑选empno,ename,job,hiredate
来源于电磁脉冲
在其中empno处于7499和7902中间
empno desc的订单信息
字段名没有初值和最后值中间。
实例:在emp表格中查看薪水没有1000到2000上下的全部职工的总数.名字.岗位和薪水。
—挑选empno.ename.job.sal
来源于电磁脉冲
sal没有1000到2000中间
实例:查看emp表格中全部序号没有7566到7902中间的职工的序号.名字和岗位,最终依照序号降序排序。
—挑选empno,ename,job
来源于电磁脉冲
在其中empno没有7566和7902中间
empno desc的订单信息
实例:在emp表格中查看职工序号为7369.7499.7566.7698.7844.7900的职工名字.职位.薪水(或)。
—挑选empno.ename.job.sal
来源于电磁脉冲
在其中empno=7369或empno=7499或empno=7566
或empno=7698或empno=7844或empno=7900
3.in:查看同一列的好几个列值,等同于好几个ORs。
中的字段名(列值1.列值2.列值3)...
实例:在emp表格中查看职工序号为7369.7499.7566.7698.7844.7900的职工名字.职位.薪水(或)。
—挑选empno.ename.job.sal
来源于电磁脉冲
在其中empno在(7369,7499,7566,7698,7844,7900)
实例:查看emp表格中sllen.Jones.Blake.Clark.King等名称的职工的全部信息内容。
—从emp中挑选*
在其中ename in('ALLEN ',' JONES ',' BLAKE ',' CLARK ',' KING ')
字段名没有(列值1.列值2.列值3…)。
实例:在emp表格中查看薪水没有800,2975,2850,2450,5000的全部职工的总数.名字和薪水。
—挑选empno.ename.sal
来源于电磁脉冲
在其中sal没有(800,2975,2850,2450,5000)
实例:查看岗位并不是行政文员.销售员.主管.投资分析师的emp表的员工信息。
—从emp中挑选*
工作中没有的地区(“营业员”.“销售人员”.“主管”.“投资分析师”)
4.标值解决作用:关键解决标值。
1)abs(字段名/值):测算平方根。
—从双100中挑选abs(100)
—从双——0中挑选abs(0)
—从双——100中挑选abs(-100)
2)sqrt(标值):求平方根。
10*10=100 10是100的平方根。
–从dual–10中挑选sqrt(100)
3)幂(数量.指数值):求幂。
–从双–1000中挑选开关电源(10,3)
4)mod(主要参数1,主要参数2):求余数。
–从dual–1中挑选mod(10,3)
5)标记(标值):分辨标值是正数或是负值,假如标值是正数。传参为1;假如数值负,传参为-1;假如数值0,传参为0。
–从双——— 1中挑选标记(100)
–从双——1中挑选标记(-100)
–从双———— 0中挑选标记(0)
6)round (): round。
连击(主要参数1和主要参数2):
主要参数1:要舍入的数据信息。
主要参数2:如果是正数,表明保存好多个小数;如果是0,表明仅有整数金额;如果是负值,表明四舍五入小数位前的十位数。
–从双——45.93中挑选一轮(45.926,2)
–从双——45.9中挑选一轮(45.926,1)
–从双——46中挑选环形(45.926,0)
—从双——50中挑选环形(45.926,-1)
–:手记只具有表述的功效,不参加程序流程的实行。
–从double-0中挑选round(45.926,-2)
–从双—— 100中挑选一轮(55.926,-2)
7)trunc():提取作用。
Trunc(主要参数1,主要参数2)
主要参数1:要断开的值。
主要参数2:如果是正数,表明保存好多个小数;假如为0,则表明丢掉全部小数;如果是负值,表明丢掉小数位前的数据。
–从dual-45.92中挑选trunc(45.926,2)
–从dual–45.9中挑选trunc(45.926,1)
—从dual–45中挑选trunc(45.926,0)
–从dual–40中挑选trunc(45.926,-1)
–从dual–0中挑选trunc(45.926,-2)
5.约束方程:设计方案表时,事先为表格中的数据信息设定一些标准。仅有达到这种标准,才可以将数据信息插进表格中。这种标准是管束。
管束种类:
外键约束管束
唯一管束
查验管束
外键约束
初始值管束
Not 空管束。
6.外键约束管束:外键约束管束用以保证数据的唯一性,防止沉余数据信息(避免表格中发生同样的数据信息)。
1)一个表只有有一个外键约束(外键约束管束),外键约束管束改动的列的列值务必是是非非[空且唯一。
2)能够应用外键约束管束来装饰一列或两列的组值。
创建表职工1(
id号(4)外键约束,
名叫varchar2(50),
年纪数据(3)
)
–在职工1值中插进(1,“王波”,16)。
典例:
–插进职工1(名字.年纪)
Volues(《李密》,21)。
3)创建表时特定外键约束管束的名字。
创建表工作人员2(
id号(4)管束pk_id_w2
外键约束,
名字varchar2(50)
)
插进职工2的价值观念(1,“张三”)
–典例
插进职工2的值(1,“李四”)
4)假如两列的组成值用外键约束管束装饰,称之为联合主键(复合型外键约束)。
5)创建表时,设定联合主键。
创建表工作人员3(
在数据(3)中,
名字varchar2(50)
年纪数据(3),
管束pk_id_name_w3
外键约束(id,名字)
)
6)改动表时设定外键约束管束。
文件格式:
变更表名
加上管束管束管束名字
外键约束(字段名1,字段名2,字段名3…)
创建表工作人员4(
身份证号(4),
名字varchar2(50)
)
变更表工作中4
加上管束pk_id_w4
外键约束(id)
创建表工作人员5(
身份证号(4),
名叫varchar2(50),
job varchar2(50),
年纪数据(3)
)
变更表工作中5
加上管束pk_id_name_w5
外键约束(id,名字)
答:建立一个表customer2,IDnumber(4),name。
Varchar2 (50),Password Varchar2 (50),Age Number (3),Address Varchar2 (50),改动customer2时,设定外键约束管束pk_id_name_cus2,改动id和name的组成值。
—创建表顾客2(
身份证号(4),
名叫varchar2(50),
登陆密码varchar2(50),
年纪数据(3),
详细地址varchar2(50)
)
变更表顾客2
加上管束pk_id_name_cus2
外键约束(id,名字)
7)删掉外键约束:
a)文件格式1:只有删掉外键约束。
变更表名删掉外键约束。
alter table worker1删掉主销售市场
实例:删掉worker2和worker3中的外键约束。
— alter table worker2删掉外键约束
alter table worker3删掉外键约束
b)文件格式2:
变更表名删掉管束管束名。
alter table worker4删掉管束pk_id_w4
实例:删掉worker5中的外键约束管束。
7日期解决作用:时间。
1)常见日期格式:
Yyy-mm-DD:时间日期。
y:年m:月d:日。
1999-12-11
Yyy-mm-ddhh24: mi: ss年.月.日.时.分.秒。
h:钟头mi:分鐘ss:秒。
词组:2011-11-11 11:11:11
下列新项目的默认设置日期格式:
时间日期。
2012年12月22日,2012年12月12日。
2)系统软件时间;的当今时间格式。
从dual中挑选sysdate
Sysdate以日为企业。
实例:探听今日.昨日和明日。
从dual中挑选sysdate.sysdate-1.sysdate 1
3)to_char(时间数据信息,‘日期格式’):将时间种类数据信息(时间)依照特定的格式转化为char种类字符串数组开展表明。
选择系统时间,
to_char(sysdate,' yyyy-mm-dd ')
从对偶
实例:查看当今时间格式,以yyyy-mm-ddhh24: mi: ss文件格式表明。
—选择系统时间,
to_char(sysdate,' yyyy-mm-dd hh24:mi:ss ')
从对偶
实例:在emp表格中查看职工名字.岗位.薪水.就职時间,就职時间以yyy-mm-dd hh:mi:ss文件格式表明。
从emp中挑选ename,job,sal,to_char(hiredate,' yyyy-mm-dd hh24:mi:ss ')
4)应用to_char()涵数获得时间的某些一部分。
从dual中挑选sysdate,to_char(sysdate,' yyyy ')
实例:在emp表格中查看职工的序号.名字.就职時间.就职月。
—挑选empno.ename.hiredate,
来源于emp的to_char(hiredate,' mm ')
实例:在emp表格中查看12日入职的职工总数.名字.新员工入职時间。
—从emp中挑选empno.ename.job.hiredate
where _ char(hiredate,' mm')='12 '
5) To _ date('时间字符串数组','日期格式'):将合乎日期格式的char种类数据交换为代表的时间种类数据信息,常见于插进实际操作。
创建表工作人员6(
id号(4)外键约束,
名叫varchar2(50),
租赁时间
)
插进职工6
值(1,“唐太宗”,截止期(' 2000-10-20 13: 11: 15 ',' yyyy-mm-ddhh24: mi: ss ')。
将3条数据信息插进worker6。
6应用默认设置日期格式插进数据信息。
插进职工6
价值观念(5,《曹操》,《12月-12月-09》)。
没法插进钟头.分鐘和秒。
将3条数据信息插进电子表格6。
价值观念(6,“貂蝉”,“10月15日至16日”)。
插进职工6
价值观念(7,《典韦》,《31-12-17》)。
插进职工6
价值观念(8,《夏》,《30-11-15》)。
改动:
update worker6设定hiredate=to_date('2013 ',' yyyy ')
7)months_between(d1,d2):找到时间d1和d2中间早已过去是多少个月。
实例:查看职工的名字.岗位.薪水.新员工入职時间及其在emp表格中工作中的月数。
挑选名字.工作.sal.聘请时间.系统软件时间,
月_处于(系统软件时间,租赁时间)
来源于电磁脉冲
8)add_months(d1,number):时间d1以后的月。
从dual中挑选add_months(sysdate,6)
知识要点:
1.唯一管束:唯一管束用以特定一列或两列的组成值是唯一的,以避免在这里列中键入相同的列值。
1)针对用唯一管束装饰的列,列值务必唯一,但能够键入空值。
2)一个表格中能够产生好几个唯一管束。
3)不能用唯一管束来装饰外键约束所属的列。
创建表工作人员7(
id号(4)外键约束,
名字varchar2(50)唯一
)
插进职工7的价值观念(1,“张三”)
插进worker7值(2,null)
–典例
插进到worker7值(3,“张三”)(违背唯一管束)
4)应用唯一管束来装饰好几个列的组成值(唯一值)。
5)改动表时,设定唯一管束。
变更表名
加上管束管束管束名字。
唯一(字段名1,字段名2,字段名3…)
创建表工作人员8(
在数据(4)外键约束中,
名字varchar2(50)
)
变更表工作中8
加上管束uq_name_w8
唯一(名字)
插进职工8的价值观念(1,“诗仙李白”)
典例:
插进职工8的价值观念(2,“诗仙李白”)
创建表工作人员9(
id号(4)外键约束,
名叫varchar2(50),
登陆密码varchar2(50),
电子邮箱varchar2(50)
)
变更表工作中9
加上管束uq_name_password_w9
唯一(名字.登陆密码)
实例:建立一个表BOOK3,id号(4)。
Name varchar2(50) title,author carchar2(50) author,pub varchar2(50) publisher,numminput namber(10)选购总数,改动book3,设定外键约束管束pk_ID_name_b3改动ID和名字的列,设定唯一管束uq _ author _ pub _改动author和pub的列。
—创建表格指南3(
id nu mber(4),
名叫varchar2(50),
创作者varchar2(50),
pub varchar2(50),
标值(10)
)
变更第3册报表
加上管束pk_id_name_b3
外键约束(id,名字)
变更第3册报表
加上管束pk_author_pub_b3
独一无二(创作者.夜店)
6.删掉唯一管束:
文件格式:
变更表名
删掉管束管束管束名字
变更表工作中8
删掉管束uq_name_w8
情景:删掉worker9中的唯一管束。
变更表工作中9
arop管束uq_name_password_w9
7)外键约束管束和唯一管束的差别。
a)一个表格中只有界定一个外键约束管束,但能够界定好几个唯一管束。
b)针对特定为主导键的一列或两列的组成值,一切列都不可以有空值,而针对唯一管束的列,该列的列值能够是空。
2: Index是构建在表格中某一列上的数据库查询目标,用以提升信息的查找速率。
1)数据库索引是一种提升查看高效率的体制。
2)数据库索引一旦建立,将由Oracle系统软件智能维护保养。撰写sql语句时,不用了解运用了哪一个数据库索引。
填补:
Having子句:再度过虑排序数据信息,常见于与聚合函数融合应用。
文件格式
挑选字段名/聚合函数。
从表名
哪儿标准
按字段名排序。
有条文
按字段名/聚合函数/别称asc/desc排列。
where标准挑选全部表格中的任何数据信息。
Having子句挑选排序数据信息。
实例。
在emp表格中查看最低工资标准高过900的每个部门的单位号,序号,薪水之和,最低工资标准,最终依照单位号降序排序。
挑选deptno,count(*),sum(sal),min(sal)
来源于电磁脉冲
按行业排序
极小值(sal)超过900
按单位排列
英语的语法:最先实行where标准过虑表格中的任何数据信息,随后应用group by开展排序,随后根据having子句再度过虑排序后的数据信息,最终实行order by开展排列。
留意:having子句务必与group by collection一起应用,having子句一般与聚合函数融合应用。
训练:查看名字中沒有字母a的emp表,或是单位号为30号的EMP表,查看最大薪水小于5000的每个部门的单位号,总数,平均收入,最大薪水。最终按总数降序排列,总数一致的按最大薪水降序排列。
针对按排序排序,select只有有一个字段名,后跟聚合函数,该字段名作为排序字段名。
挑选deptno,count(*),max(sal),avg(sal)
来源于电磁脉冲
在其中deptno=30或ename并不像“%A%”
按行业排序
having max(sal)