oracle varchar2转date_5分钟学会精算师常用Oracle语句

本文介绍了精算师在保险公司工作中处理数据时常用的Oracle数据库操作,包括简单查询、数据转换、表的创建、插入、删除及清空、列的添加、更改和删除、多条件查询等。同时,分享了将字符串转换为日期类型的方法,并推荐了学习数据库的资源和相关行业洞察。
摘要由CSDN通过智能技术生成

前言

e79465d01face9390b686f055a21651f.png

作为精算师,在保险公司需要处理千万量级+保单数据和财务数据。

  • 经验分析团队利用庞大的历史保单数据及理赔数据建议合适的最优估计假设(Best Estimate Assumption);

  • 评估团队利用有效/新业务保单和财务数据报送高质量的报告;

  • 产品团队对产品的回溯和分析离不开数据的支持;

  • 再保团队和再保公司处理再保账单也需要保单数据和理赔数据。

因此数据库软件算是除了Excel和精算模型软件之外必备的第三大软件。

ca16577c1a69a3eb0a5629e797bd4d6e.png

目前,国内保险公司常用的数据库软件主要有Access,SQL server,FoxPro和Oracle。

一般小公司喜欢使用Access和FoxPro,这两个软件适用于小型程序,处理的数据相对较少,像FoxPro支持2G字节的数据,但是价格便宜,操作简单,对小公司来说是不错的选择,但是当公司业务庞大后,数据表不得不分为多个表,降低了程序的效率,也不利于保存。

970d11bbb706a10e38d6b272afa3293d.png

因此大公司青睐SQL server和Oracle。

SQL server和Oracle是企业级数据库,支持海量数据存储和应用, 数据安全性较高,但是收费较贵。许多数据处理软件都有Oracle的接口,像Tableau,使得后续的数据可视化、数据处理更加方便,因此像友邦人寿、太平洋人寿等大公司选择Oracle作为数据库。

今天简单介绍一下Oracle常用语句,都是一些简单但是使用频率高的语句,本人接触Oracle时间不长,还请数据库高手手下留情,如果有高效的语句,也欢迎留言或者分享在论坛,一起交流。

数据

e79465d01face9390b686f055a21651f.png

以TableA和TableB作为示例

5bfd959dd7a5355ef4d85328378f61eb.png

TableA:保单信息

PolProductIssueAgeSexAPID
P01

TermLife A

20F2500A11
P02WholeLife B30M10000A12
P03TermLife C45M3000A13
P04UniversalLife D20F50000A11
5bfd959dd7a5355ef4d85328378f61eb.png

TableB:被保险人信息

IDSalarySmoker‍       City
A115000Y        SH
A1210000N        BJ
A1320000N        SZ

查询语句

e79465d01face9390b686f055a21651f.png1简单查询

简单查询TableA里的数据

Select * from TableA;
2条件查询

查询承保年龄在30岁以内的保单

Select *from TableA where IssueAge<=30;

查询男性保单的总保费

Select sum(AP) from TableA where Sex='M';

查询产品A和产品C被保险人的平均承保年龄

Select Sum(IssueAge)/Count(*) from TableA where Product='TermLife A' or Product='TermLife C';
3模糊查询

查询IDnum开头为‘A’的保单

Select * from TableA where ID like'A%';

查询定期寿险保单

Select * from TableA where Product like '%Term%';
4聚合查询

查询男性和女性的总保费

Select sex,sum(AP) from TableA group by sex;

创建、插入、删除及清空表

e79465d01face9390b686f055a21651f.png1导入创建

创建一张新表TableC,将TableA导入

Create table TableCas select * from TableA;

创建一张新表TableC,将TableA中男性导入

Create table TableC as select * from TableA where where Sex='M';

创建一张新表TableC,将TableA导入,将其放在USERS的存储空间

Create table TableC tablespace users as select * from TableA;
2多表关联创建

创建一张新表TableC,将TableA导入,并导入TableB的收入信息和城市信息

Create table TableC as select a.*,b.Salary,b.City from TableA a left join TableB b on trim(a.ID)=trim(b.ID);
3插入表

将TableA插入到TableC(插入的表是已经存在的表)

Insert into TableC select * from TableA;
4清空表

清空TableA

Truncate table TableA;
5删除表 

删除TableA

Drop table TableA;

添加、更改,删除列或数据

1添加列 

给TableA添加列Age,格式为Number

Alter table TableA add (Age number);

给TableA添加列SmokerStatus,格式为varchar2(2),括号里20是设置的最大字节数

Alter table TableA add (SmokerStatus varchar2(20));
2更新列 

更新TableA的列AnnualPrem,对AnnualPrem乘以1.1

Update table TableA set AP= AP*1.1

更新TableA的列AnnualPrem,对吸烟者AnnualPrem乘以1.1

Update table TableC set AP= AP*1.1 where SmokerStatus ='Y';
3删除列 

删除TableA列ID

Alter table TableA drop column ID;

删除TableA列AnnualPrem和列ID

Alter table TableC drop (AP, ID);
4删除数据 

删除TableA男性保单数据

Delete from TableC where Sex='M';

在TableA里删除ID在TableB的数据

Delete from TableA where ID in (select ID from TableB);
5提交数据 

在insert/delete/update操作后,需要提交数据,数据库才能真正修改数据

Commit;

多条件查询

1Case when 

在TableA查询保单号和性别,如果是M则显示“男”,F显示“女”,都不是显示“其他”

Select Pol,  (Case Sex  when M then '男'  when F then '女'  else '空'  END) 性别from TableA
2Decode 

Sex如果是M返“男“,F返回“女“

Decode (Sex,'M','男','F','女')

数据格式转换

1转为日期 

将20190101转为日期类型

To_date('20190101','YYYYMMDD')
2转为数字 

将20190101转为数字类型

To_number(20190101)
3截取字符串 

截取20190101中的月份

Substr(20190101,5,2)

投票

以上就是常用的一些语句,比较简单,欢迎大家点击阅读原文进入论坛分享一些高端语句和交流,最后推荐一个学习数据库程序的网站https://www.w3school.com.cn/sql/index.asp,里面有所有语句的用法和实例,对学习非常有帮助。

另外我们发起了关于公司使用的数据库软件的投票,欢迎投票!

f37b2c421539a69174a034f738557c0f.gif

图片来源:网络

往期 精彩回顾

行业洞察

解读 | 市场收款可调费率终身医疗险独家深度解读

解读 | 百万医疗险长期化探讨 ——固定免赔额是橘是枳?

解读 | 重大疾病保险形态演进的回顾和预判(上)

解读 | 重大疾病保险形态演进的回顾和预判(下)

精算考试

大事件 | 机 考 or 笔 试 ?

分享 | 【SOA系列】我是如何取得FSA的

分享 | 【SOA系列】我是如何通过前五门基础课程的

分享 | 【SOA系列】我是如何通过高级课程的

名校之旅

分享 | 在人大统计学院就读精算是一种什么样的体验(上)

分享 | 在人大统计学院就读精算是一种什么样的体验(下)

分享 | 在卡斯商学院就读精算科学是一种什么样的体验 —— 实习工作篇

分享 | 在卡斯商学院就读精算科学是一种什么样的体验 —— 学习生活篇

分享 | 在卡斯商学院就读精算管理是一种什么样的体验

分享 | 在赫瑞瓦特大学就读精算管理是一种什么样的体验

论坛杂谈

解惑 | 作 为 精 算 师 是 怎 样 一 种 体 验 ?

投票 | 刚起步的精算师最适合/不适合哪些岗位

求职 | 精算招聘信息-2020.7.15.

精算屋熊猫论坛,旨在为精算师及未来精算师提供交流平台

在这里我们提倡平等,开放,互助,创新

或许你还不是精算师,来到这里,你已经成为了我们的一员

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值