Oracle中常用的几种数据类型

oracle自己在学习培训过程中经常用到的数据类型有varchar2,char,number,date类型: 1.varchar2 & char 字符串类型

varchar2和char都是字符串类型,两者的比较:

(1)varchar2后面必须带宽度表示最大长度;

char后面可以不带宽度,默认为1。

(2)varchar2类型数据不定长,按照字符串的实际长度保存,最大长度为4000字节;

char类型的数据是定长的,实际字符串长度不足char宽度时用空格补齐,最大长度为2000字节。

(3)varchar2类型对空格敏感,如在字符串比较时,会按照字符串实际长度进行比较,空格也算在内;

char类型对空格不敏感,如在字符串比较时,会先将短字符串补齐后再进行比较。

2.number 数字类型

(1)number可以副制定宽度,默认是38字节

(2)number(p)表示p为宽度整数(p为正整数)

(3)number(p,s) 精度

p:1~38 表示数字位个数 s:-84~127 精度

A:当s>0时,精确到小数点右边的s位,如果s>p,则要在小数点后边补零。

B:当s<0时,精确到小数点左边的s位,此时有效位数为p+|s|

例:number(4,2)总共4位,小数2位,最大值为99.99

number(2,4)数值中所有数字位个数为2,小数点后面4位,存0.00111,实际保存的是0.0011

number(3,-3)当存入12345时,实际保存的是12000,后面三位抹去

3.date 日期时间类型

(1)date后面不能跟宽度,是定长7位字节数,默认日期格式为dd-mon-rr,日期时间类型对格式敏感。

(2)sysdate:系统当前日期时间 select sysdate from dual;

(3)显示完整的日期格式命令:alter session set nls_date_format = 'yyyy mm dd hh24:mi:ss';

(4)日期格式:

d:一星期中第几天 dd:一月中第几天 ddd:一年中第几天

fm:去掉两端空格或者前倒0

例:to_char(date,'fmmonth') 去掉两端空格

fmmm 去掉前倒0

yyyy,mm,dd,hh24,mi,ss,d,ddd,day,month,year表示取出date中的相应部分的值。

(5)日期函数:

to_date('date','格式')把指定日期(字符串)转化为制定格式的日期类型

months_between('date1','date2')相差多少个月,参数是时间类型(隐式转换)

add_months('date',months)增加几个月

next_day('sysdate','FRIDAY')当前日期之后的第一个星期五的日期

round(sysdate)上半天舍去,下半天入,0点0分0秒

round(sysdate,'MONTH')上半月舍去,下半月入,变为1号0点0分0秒

round(sysdate,'YEAR')上半年舍去,下半年入,变为1月1日0点0分0秒 trunc(sysdate)以天为单位进行截取

trunc(sysdate,'MONTH')以月为单位进行截取

trunc(sysdate,'YEAR')以年为单位进行截取

注:months_between等函数参数可以隐式转化为日期类型,而round,trunc函数的参数一定要是日期类型。

(6)日期运算:以天为单位

sysdate - 1:昨天

sysdate:今天

sysdate + 1:明天

sysdate +(-) 时间表达式(天) 如:sysdate + 10/60/24 表示十分中后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值