数值及日期操作

数值操作

数值类型

1、NUMBER (P)表示整数

完整语法:NUMBER(precision,scale)
如果没有设置scale ,则默认取值0 ,即NUMBER(p)表示整数
P表示数字的总位数,取值为1-38。用来在表中存放如编码、年龄、次数等用整数记录的数据。

2、NUMBER (P,S)表示浮点数

NUMBER(precision,scale)
precision:NUMBER可以存储的鼉大数字长度(不包括左右两边的0)
scale:在小数点右边的最大数字长度(包括左侧0 )
指定了s但是没有指定p ,则p默认为38 ,如:
列名 number(*,s) 经常用来做表中存放金额、成绩等有小数位的数据。

NUMBER的变种数据类型:内部实现是NUMBER ,可以将其理解为NUMBER的别名,目的是多种数据库及编程语言兼容
NUMERIC(p,s):完全映射至NUMBER(p,s)
DECIMAL(p,s)或DEC(p,s):完全映射至NUMBER(p,s)
INTEGER或INT :完全映射至NUMBER(38)类型
SMALLINT:映射至NUMBER(38)类型
FLOAT(b):映射至NUMBER类型
DOUBLE PRECISION:映射至NUMBER类型
REAL:映射至NUMBER类型

ROUND

ROUND(n[,m]):用于四舍五入
参数中的n可以是任何数字,指要被处理的数字

  • m必须是整数
  • m取正数则四舍五入到小数点后第m位
  • m取0则四舍五入到整数位
  • m取负数,则四舍五入到小数点前m位
  • m缺省,默认值是0

TRUNC

TRUNC(n[,m]):用于截取
n和m的定义和ROUND(n[,m])相同,不同的是功能上按照截取的方式处理数字n。

MySQL没有TRUNC函数。

MOD

MOD(m, n):返回m除以n后的余数;
n为0则直接返回m。
MySQL中n为0返回null;

CEIL和FLOOR

CEIL(n):取大于或等于n的最小整数值
FLOOR(n):是取小于或等于n的最大整数值

日期操作

ORACLE中最常用的日期类型,用来保存日期和时间 DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日。

TIMESTAMP与DATE的区别是不仅可以保存曰期和时间,还能保存小数秒,最高精度可以到ns(纳秒)

SYSDATE其本质是一个Oracle的内部函数,返回当前的系统时间,精确到秒;
默认显示格式是DD-M0N-RR

SYSTIMESTAMP
内部函数,返回当前系统日期和时间,精确到毫秒。

TO_DATE

TO_DATE(char[,fmt[,nlsparams]]):将字符串按照定
制格式转换为日期类型
char:要转换的字符串
fmt:格式
nlsparams:指定日期语言

TO_CHAR

将其它类型的数据转换为字符类型
TO_CHAR(date[,fmt[,nlsparams]]):
将日期类型数据date按照fmt的格式输出字符串。
nlsparams用于指定日期语言
ORACLE中,日期格式字符串中,除了特殊字符以及英文符号以外,任何字符输出都需要双引号扩上,否则报错。

LAST_DAY

LAST_DAY(date):返回日期date所在月的最后一天,在按照自然月计算某些业务逻辑,或者安排月末周期性活动时很有用处。

ADD_MONTHS

ADD_MONTHS(date, i):返回日期date加上i个月后的日期值
参数i可以是任何数字,大部分时候取正讎数
如果i是小数,将会被截取整数后再参与运算
如果i是负数,则获得的是减去i个月后的日期值

MySQL只有ADDDATE函数:
DATE_ADD(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
例:

SELECT ename,ADDDATE(hiredate,INTERVAL 20*12 MONTH)FROM emp;

SELECT语句返回的结果集,给列加别名用于增加可读性

SELECT 列名 别名,列名 别名 FROM 表
--别名不能以数字开头,若以数字开头,别名需要用""括上
同样不能以符号开头。

MONTHS_BETWEEN

MONTH_BETWEEN(date1, date2):计算date1和date2两个日期值之间间隔了多少个月。实际运算是date1-date2 ,如果date2时间比date1晚,会得到负值
除非两个日期间隔是整数月,否则会得到带小数位的结果,比如计算2009年9月1日到2009年10月10日之间间 隔多少个月,会得到1.29个月。

MySQL中没有这个语句

data日期类型在数据库中可以进行减法操作,结果是相差的天数。

SELECT to_date('1999-05-18','YYYY-MM-DD') - to_date('1988-10-31','YYYY-MM-DD') FROM DUAL;

LEAST,GREATEST

GREATEST(expr1[,expr2[, expr3]]...)
LEAST(expr1[,expr2[, expr3]]...)
也被称作比较函数,可以有多个参数值,返回结果是参数列表中最大或最小的值参数类型必须一致
在比较之前,在参数列表中第二个以后的参数会被隐含的转换为第一个参数的数据类型,所以如果可以转换,则继续比较,如果不能转换将会报错。
不限于日期函数。

EXTRACT

EXTRACT(date FROM datetime):
从参数datetime中 提取参数date指定的数据,比如提取年、月、日

NULL操作

数据库里的重要概念:NULL ,即空值。
有时表中的某些字段值,数据未知或暂时不存在,取值
NULL。
任何数据类型均可取值NULL。

NVL

NVL(expr1, expr2):将NULL转变为非NULL值
如果expr1为NULL ,则取值expr2, expr2是实际值
expr1和expr2可以是任何数据类型,但两个参数的数据类型必须是一致的
MySQL中的函数是:IFNULL(expr1,expr2)

NVL2(expr1, expr2, expr3):和NVL函数功能类似,都是将NULL转变为实际值。
NVL2用来判断expr1是否为NULL,如果不是NULL ,返回expr2 ,如果是NULL,返回expr3。
MySQl中函数为IF(expr1,expr2,expr3)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容