新霸哥带你轻松玩转Oracle数据库
接触过软件开发的朋友可能都会知道oracle,在开发的过程中,数据存储都可能会用到oracle的,因为oracle具有处理速度快,安全级别特别的高。但是有一个缺点就是比较的贵,只有一个大型的公司才有可能接触到的,看到这里可能很多的朋友一定很想了解oracle吧,下面新霸哥将带你走进oracle的世界。
首先介绍一下Oracle中对于字符串的处理
char varchar varchar2 nvarchar long clob这些都是oracle中常用的字符串类型,在这里用的比较多的就是varchar和varchar2,但是,它们是有区别的。
varchar类型是国际标准组织ANSI制定的字符串类型
varchar2是Oracle公司自定义的字符串类型,目前varchar和varchar2功能一致,Oracle推荐使用varchar2,mysql中没有varchar2只有varchar,varchar2使用时必须指定大小,char不用指定大小,默认为1
char和varchar的区别
新霸哥注意到了char表示固定长度的字符串,varchar表示变长的字符串,c1--char(10)-->为c1开辟10个字符的空间,不够10个,补充空格。c2--varchar(10)-->按照c2实际的长度开辟空间,最大开辟10个长度的空间
中文存储问题
开辟空间大小单位为字节,能存多少字符,和编码有关,GBK:中文占俩个字节,字母和数字占用一个字节。
UTF-8:中文占3个字节,字母和数字占一个字节
Unicode:字母和中文都占俩个字节
使用建议:varchar2定义长度的时候采用最大值:字符数*3
nvarchar类型
nvarchar采用是Unicode编码存储
nvarchar(5):可以存储5个字符(汉子或者字母数字)
字符串处理函数
Oracle提供很多字符串、数值、日期时间等,在这里就不详细的介绍了。如果你想深入的了解,可以和新霸哥交流。
数值操作
oracle中数值类型,利用number定义整数,浮点数。number:既可以存储整数也可以存储小数,number(p):表示p位的整数,number(p,s):表示浮点数,s表示小数位数,p表示有效位数
--s>0:对小数点右侧做多保留s位小数
--s=0:对小数点四舍五入截掉保留整数
--s<0:对小数点左侧s位四舍五入清0
当p<s的时候,是一个小于1的小数,小数点保留s位,将小数点右侧s-p位清0 为0.0XX

日期和时间的操作
sysdate:Oracle服务器当前系统时间,systimestamp:返回oracle服务器当前系统时间是一个timestamp类型。将字符串站换成date,to_date(s.format):将s字符串以format格式转换成date类型。 Oracle默认的格式为:DD-MM-RR,英文环境:'01-JAN-90',中文环境:'01-1月-90'
日期转换成字符串
to_char(date,format):将date转换成format格式的字符串显示出来。 to_timestamp和to_date相似,可以将一个字符串转换成timestamp()类型
其他日期函数
last_day(date):返回当前时间月份的最后一天,next_day(date,星期几):从当date时间开始计算,下一个星期几的日期(离date最近的日期),months_between(date1,date2):计算date1-date2相差多少个月。extract:获取指定的年,月,日等信息。
空值操作
null:各种类型的字符串都可以为null,这个也是很重要的,在开发中会经常遇到的。
1》插入式写入null
2》null做条件查询
好了,新霸哥今天就介绍到这里了,更多的关于oracle的一些深入的应用,欢迎和新霸哥交流。
新霸哥带你轻松玩转Oracle数据库的更多相关文章
- 新霸哥带你进入java的世界
新霸哥从近期大家的留言中注意到了大家对基础知识比较重视,很多的朋友希望多讲一些入门的知识,为了满足广大开发爱好者的需求,新霸哥决定从最基础的做起,一点一点的帮助大家一起走进云计算的世界.下面新霸哥首先 ...
- 架构篇 | 带你轻松玩转 LAMP 网站架构平台(一)
作者 | JackTian 微信公众号 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)备注:来自博客园 1.什么是 LAMP 架构? LAMP 架 ...
- CAP带你轻松玩转Asp.Net Core消息队列
CAP是什么? CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Star),具有轻量级.易使用.高性能 ...
- CAP带你轻松玩转ASP.NETCore消息队列
CAP是什么? CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Start),具有轻量级.易使用.高性 ...
- 带你轻松玩转Git--图解三区结构
在上篇文章的结尾我们提到了Git 的三区结构,在版本控制体系中有这样两种体系结构,一种是两区结构一种是三区结构.接下来我们通过对Git三区的结构学习来帮助我们更好的去理解并运用Git. 两区结构是其他 ...
- 带你轻松玩转Git--瞬间创建本地仓库
在上一篇文章中我们对版本控制有了一个比较宏观的了解,同时也能够看到Git 所处在的历史地位.并且对版本控制系统的体系进行了一个宏观的对比,貌似让读者看起来挺复杂的样子. 笔者将会尽可能的简单向大家分享 ...
- Oracle数据库使用存储过程实现分页
注:本示例来源于韩顺平[10天玩转oracle数据库]视频教程 1.创建包同时创建游标 create or replace package pagingPackage is type paging_c ...
- 完整版的CAD技巧!3天轻松玩转CAD,零基础也能学会
最近有很多小伙伴反应,CAD图纸学起来有点小困难,也许你还没能掌握技巧,CAD大神带你3天轻松玩转CAD,零基础也能快速学会. 一.看懂图纸是关键 CAD制图首先得让自己知道要绘制什么,如果心中对图纸 ...
- PowerDesigner生成Oracle数据库时,表名会带引号问题
使用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号.其实加引号是PL/SQL的规范,数据库会严格按照""中的名称建表,如果没有& ...
随机推荐
- 套接字之sendmsg系统调用
sendmsg系统调用允许在用户空间构造消息头和控制信息,用此函数可以发送多个数据缓冲区的数据,并支持控制信息:当调用进入内核后,会将用户端的user_msghdr对应拷贝到内核的msghdr中,然后 ...
- 使用Desktop App Converter打包桌面应用程序
打包具有安装程序 (.msi) 的应用程序 DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.msi -Destination C: ...
- 设置Apache监听多个端口
1.在配置文件httpd.conf中Listen多个端口 Listen localhost:8033 Listen localhost:8083 ....... 2.在配置文件夹下的extra文 ...
- Emacs Python 自动补全之 eglot
eglot 个人水平有限,自己的测试难免有不足甚至错误的地方.欢迎各位emacser 能前来留言交流. 首先eglot 是一个lsp-mode的集成环境.作者说这不仅仅是一个lsp工具.但是我从其说明 ...
- Selenium-WebDriverApi接口
webdriver获取元素的18种方式: 1.单数模式8 种 id定位模式 element = driver.find_element_by_id('i1') element.send_keys('U ...
- KVM + LinuxBridge 的网络虚拟化解决方案实践
目录 文章目录 目录 前言 Linux bridge 的基本操作 创建 Bridge 将 veth pair 连上 Bridge 为 Bridge 配置 IP 地址 将物理网卡接口设备挂靠 Bridg ...
- Word2007—如何快速取消自动编号
有时候自动编号很麻烦,有没有好的办法可以快速取消呢. 1.禁止自动编号.在Word为其自动加上编号时,只要按下Ctrl+Z键撤销操作,此时自动编号会消失,而且每次键入数字时,该功能就会被禁止了. 2. ...
- java:Oracle(聚合函数,多表查询,表之间的关系)
1.聚合函数 --max,min,sum,avg,count,nvl(,) -- max:最大值 -- max既能取数字的最大值,也可以取字符串的最大值(英文字母排列顺序),根据场景实际意义来看,最好 ...
- beego框架学习(二) -路由设置
路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由.正则路由.自动路由,接下来详细的讲解如何使用这三种路由. 基础路由 从beego1.2版本 ...
- Centos 6.5 磁盘修复 破解删除root密码
起因:由于存储设备故障.导致虚拟机断开.恢复后虚拟机无法启动,发现报磁盘损坏,需要运行fsck运行 问题解决思路: 1.虚拟机无法启动,所以需要进入系统进行修复 2.root密码是自动修改的.由于虚拟 ...