接触过软件开发的朋友可能都会知道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的一些深入的应用,欢迎和新霸哥交流。