【转】oracle内置函数 trunc 使用
原文链接 http://blog.csdn.net/oscar999/article/details/16839417
前言trunc 是 truncate 的简写。 中文翻译是 “截断”或 “截短”。 表面看上去,应该是对字串或是数字进行截取。 实际上这个函数有两种用法, 而且这两种用法看上去很不一样。 1. 对 number 类型使用。其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 2. 对日期类型使用。对 number 类型使用 语法格式: TRUNC(number[,decimals])--number 待做截取处理的数值--decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。需要特别注意的是, 这个参数可以为负数,表示为小数点左边指定位数后面的部分以 0 替换。比如 TRUNC(123.456789,-1) = 120 使用实例:1) decimals 不设置,截去所有小数部分 select TRUNC(123.456789) from dual; 返回 : 1232) decimals 设置为正整数 select TRUNC(123.456789,2) from dual; 返回 123.45 比较使用ROUND的状况:select ROUND(123.456789,2) from dual; 返回 123.46 (四舍五入了)3) decimals 设置为负整数 select TRUNC(123.456789,-1) from dual; 返回: 120 (最后一位从 3 变成 0 了)4) decimals 设置为小数 select TRUNC(123.456789,2.8) from dual; select TRUNC(123.456789,2.4) from dual; 返回: 123.45看上去decimals可以设置成小数,只是小数部分完全忽略,设置小数没什么意义。( 但是如果这个参数部分是计算出来的小数,就没有必要做类型转换)对日期类型使用语法格式: TRUNC(date[,fmt]) date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截取。忽略它则由最近的日期截取 这个函数的使用解释应该是: 返回日期date所在期间(参数fmt)的第一天日期 fmt: 对应的参数表: 本周星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六) 本月初日期:month或mon或mm或rm 本季日期:q 本年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度) 本世纪初日期:cc或scc 【返回】:日期使用实例:(以当前日期 sysdate 为例) 1. 取得当前日期 select trunc(sysdate) from dual; select trunc(sysdate ,'DD') from dual; 返回: 20-11月-132. 返回本周星期日 select trunc(sysdate,'d') from dual; 因为西方国家是从周日为一周的开始, 对于中国来说, 这个返回的其实是上周的周末。 如果要得到中国习惯的本周末的话, 就要加上 7 天了。 select trunc(sysdate,'d')+7 from dual; 类似的用法还可以用: select trunc(sysdate,'dy')+7 from dual; select trunc(sysdate,'day')+7 from dual; 3. 返回本季的开始时间 select trunc(sysdate,'q') from dual; 4. 返回本月开始时间 select trunc(sysdate,'month') from dual; select trunc(sysdate ,'mm') from dual; 5. 本年开始时间 select trunc(sysdate,'year') from dual; select trunc(sysdate ,'yyyy') from dual; 6.本小时开始时间 select trunc(sysdate ,'HH24') from dual; 返回当天的日期7. 本分钟开始时间 select trunc(sysdate ,'MI') from dual; 同样返回当天的日期其他 1. 注意, 不能对string 类型来使用这个函数: select TRUNC('abcdef',2) from dual; 这种用法是错误的。 但是, 一下这样却是可以的: select TRUNC('123.456789',2) from dual; 个中差别, 应该不难理解^^ 2. 这里频繁使用到dual 这张表: dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。
[
转载于:https://www.cnblogs.com/ihongyan/p/4168458.html
【转】oracle内置函数 trunc 使用相关推荐
- oracle内置函数 trunc 使用
前言 trunc 是 truncate 的简写. 中文翻译是 "截断"或 "截短". 表面看上去,应该是对字串或是数字进行截取. 实际上这个函数有两种用法, ...
- oracle内部函数,[数据库]Oracle内置函数
[数据库]Oracle内置函数 0 2020-08-21 19:00:31 lpad()函数:用于左补全字符串. 例:lpad('原始数据','预期长度','填充字符') ,lpad('123','5 ...
- ORACLE内置函数
ORACLE内置函数 一.内置函数的分类 二.转换函数 三.日期函数 四.字符串函数 五.数字函数 六.聚合函数 一.内置函数的分类 内置函数:Oracle自带的函数,我能只需要去调用就可以了. Or ...
- oracle 中least,ORACLE 内置函数之GREATEST和LEAST
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- code函数oracle列子,Oracle内置函数SQLCODE和SQLERRM的使用
Oracle内置函数SQLCODE和SQLERRM的使用 Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息. OTHERS ...
- ORACLE 内置函数之 GREATEST 和 LEAST(转)
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- oracle中的greatest,ORACLE 内置函数之 GREATEST 和 LEAST(转)
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- oracle+greatest+max,ORACLE 内置函数之 GREATEST 和 LEAST(求多列的最大值,最小值)
转载自:http://dlblog.iteye.com/blog/1274005 Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不 ...
- oracle内部函数,Oracle内置函数大全.pdf
WinnerSoft SQL内置函数说明 Oracle 8i数据库管理 数字格式元素 WinnerSoft 元素 示例 说明 , 999,999 标定格式化数字中的位置 G 999G999 返回一组通 ...
最新文章
- intellij idea的out目录下为什么会有与src名字相同的.class文件呢?
- 最简单也最难——如何获取到Android控件的高度,获取android控件
- Matlab与C++混合编程(依赖OpenCV)
- Python面向对象编程(二)
- 川农在线计算机考试,四川农业大学《计算机应用基础(专科)》20年6月作业考核-答案...
- 大公司or小公司,我该怎么选?
- 从省市区多重级联想到的,react和jquery的差别
- 如何添加评论_亚马逊评论数据分析
- win10如何用管理员权限去运行服务器,让Visualstudio在win10下使用管理员方式运行...
- 如何求出三角形的面积
- colorkey唇釉是否安全_colorkey小黑镜唇釉好用吗
- 模糊查询SqlParameter参数化like
- axis调用webservice服务
- CVPR 2022|解耦知识蒸馏!旷视提出DKD:让Hinton在7年前提出的方法重回SOTA行列!...
- 哪个106短信服务平台好?这4点要参考!
- Photoshop制作剔透魔法水晶球
- ECharts 数据可视化插件
- ffmpeg 视频抽取音频,音频分离 方法大全 你长知识了吗?
- 【Python】常用模块安装命令
- 免费下载学术文献的网站,好用!
热门文章
- 实践SaltStack安装和配置管理
- PHP面向对象分析设计的61条军规
- 请还未提交实名的博客专家在8月4日前尽快提交您的实名信息
- winxp下安装虚拟机,并安装linux操作系统
- 【note】编程范式(编程范型)的含义和种类,多范式编程语言
- 蓝桥杯 ADV-92 算法提高 求最大公约数
- 1064. 朋友数(20)-PAT乙级真题
- 【iOS开发】An Apple ID with identifier xxxis not available. Please enter a different string.
- JDBC连接Informix IDS
- Nisus Writer Pro for Mac拆分视图和注释技巧