Oracle中TRUNC()函数详解

文章目录

  • 前言
  • 一、TRUNC函数的语法
  • 二、主要用途
  • 三、测试用例
  • 总结


前言

在Oracle中,TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本,根据提供的格式进行截取。


一、TRUNC函数的语法

TRUNC(date) 
TRUNC(date, [format]) 
TRUNC(number) 
TRUNC(number, precision)

参数说明:

date: 一个日期或时间表达式。
format: 可选参数,用于指定截取的精度。可以是以下值之一:

参数说明
YYYY年份
YYYY-MM年份和月份
YYYY-MM-DD年份、月份和日期
YYYY-MM-DD HH24年份、月份、日期和小时(24小时制)
YYYY-MM-DD HH24:MI年份、月份、日期、小时和分钟
YYYY-MM-DD HH24:MI:SS年份、月份、日期、小时、分钟和秒钟
YYYY-MM-DD HH24:MI:SS.FF年份、月份、日期、小时、分钟、秒钟和毫秒

number: 一个数值表达式,可以是整数或浮点数。
precision: 可选参数,用于指定数值的截取精度。表示保留到小数点后多少位,默认为0。

二、主要用途

在Oracle中,TRUNC函数用于截断日期或数值的小数部分。它具有以下用途:

  1. 截断日期部分:当TRUNC函数应用于日期时,它会截断日期的时间部分,返回一个新的日期,时间部分设置为零。例如,TRUNC(SYSDATE)将返回当前日期,时间部分设置为零。

  2. 截断时间部分:当TRUNC函数应用于时间时,它将返回一个新的时间,将分钟、秒和毫秒部分设置为零。例如,TRUNC(SYSTIMESTAMP)将返回当前时间,分钟、秒和毫秒部分设置为零。此外,还可以指定截取的位数,例如TRUNC(date, ‘MONTH’)可以截取日期的月份部分。还可以用于将日期或时间戳向下取整到指定的单位,比如TRUNC(date, ‘IW’)可以将日期向下取整到本周的第一天。

  3. 截断数值部分:当TRUNC函数应用于数值时,它将截断数值的小数部分,并返回一个新的数值。例如,TRUNC(3.14159)将返回3。

  4. 截断小数部分:当TRUNC函数应用于数值时,可以指定截断的精度。例如,TRUNC(3.14159, 2)将返回3.14,截断到小数点后两位。

注意,TRUNC函数并不四舍五入,而是直接截取。如果需要进行四舍五入操作,可以使用SQL中的ROUND函数。

三、测试用例

1、测试日期截取

测试SQL:

SELECT 
TRUNC(SYSDATE,'YYYY')  AS YEAR_TRUNC,
TRUNC(SYSDATE,'MM')   AS MONTH_TRUNC,
TRUNC(SYSDATE,'DD')   AS DAY_TRUNC,
TRUNC(SYSDATE,'HH24') AS HOUR_TRUNC,
TRUNC(SYSDATE,'MI')   AS MINUTE_TRUNC,
TRUNC(SYSDATE) -1/24  AS FIRST_TRUNC,
TRUNC(SYSDATE) +2/24  AS SECOND_TRUNC
FROM DUAL;

测试结果:
在这里插入图片描述
其中:最后2个用例,分别表示-1/24表示24点的前1个小时;+2/24表示24点的后2个小时。

2、测试数值截取

测试SQL:

SELECT 
TRUNC(12345.6789)    AS NUMBER1,
TRUNC(12345.6789,0)  AS NUMBER2,
TRUNC(12345.6789,1)  AS NUMBER3,
TRUNC(12345.6789,2)  AS NUMBER4,
TRUNC(12345.6789,3)  AS NUMBER5,
TRUNC(12345.6789,4)  AS NUMBER6,
TRUNC(12345.6789,-1) AS NUMBER7,
TRUNC(12345.6789,-2) AS NUMBER8,
TRUNC(12345.6789,-3) AS NUMBER8,
TRUNC(12345.6789,-4) AS NUMBER10
FROM DUAL;

测试结果:
在这里插入图片描述


总结

总的来说,TRUNC函数可以用于截断日期的时间部分、时间的分钟、秒和毫秒部分、数值的小数部分,并可以指定截断的精度。

如果这篇博客对大家有所帮助,我希望能得到各位的免费点赞收藏,作为对我的鼓励和支持。
同时,也请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
感谢大家的支持评论收藏!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440651.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符编码发展史5 — UTF-16和UTF-32

上一篇《字符编码发展史4 — Unicode与UTF-8》我们讲解了Unicode字符集与UTF-8编码。本篇我们将继续讲解字符编码的第三个发展阶段中的UTF-16和UTF-32。 2.3. 第三个阶段 国际化 2.3.2. Unicode的编码方式 2.3.2.2. UTF-16 UTF-16也是一种变长编码,对于一个Unic…

1、如何查看电脑已经连接上的wifi的密码?

在电脑桌面右下角的如下位置:双击打开查看当前连接上的wifi的名字:ZTE-kfdGYX-5G 按一下键盘上的win R 键, 输入【cmd】 然后,按一下【回车】。 输入netsh wlan show profile ”wifi名称” keyclear : 输入完成后,按一下回车&…

浏览器前端向后端提供服务

WEB后端向浏览器前端提供服务是最常见的场景,前端向后端的接口发起GET或者POST请求,后端收到请求后执行服务器端任务进行处理,完成后向前端发送响应。 那浏览器前端向后端提供服务是什么鬼? 说来话长,长话短说。我在人…

AFSim仿真系统 --- 系统简解_06 平台及平台类型

平台及平台类型 在AFSIM模拟中,当在被模拟的场景中定义平台时,创建仿真实体(如车辆和结构)。 AFSIM是一个用于创建仿真的对象框架,而平台封装了对象的原则身份或定义。 平台可以拥有系统(或平台部分&#x…

自然语言处理-语言转换

文章目录 一、语言模型二、统计语言模型1.含义与方法2.存在的问题 三、神经语言模型1.含义与方法2.one-hot编码3.词嵌入-word2vec4.模型的训练过程 四、总结 自然语言处理(NLP)中的语言转换方法主要涉及将一种形式的语言数据转换为另一种形式&#xff0c…

[Cocoa]_[初级]_[使用NSNotificationCenter作为目标观察者实现时需要注意的事项]

场景 在开发Cocoa程序时,由于界面是用Objective-C写的。无法使用C的目标观察者[1]类。如果是使用第二种方案2[2],那么也需要增加一个代理类。那么有没有更省事的办法? 说明 开发界面的时候,经常是需要在子界面里传递数据给主界面&#xff0…

Windows 搭建 Gitea

一、准备工作 1. 安装 Git:Gitea 依赖 Git 进行代码管理,所以首先需要确保系统中安装了 Git。 下载地址:https://git-scm.com/downloads/win 2. 安装数据库(可选) 默认情况下,Gitea 使用 SQLite 作为内…

Nginx的基础讲解之重写conf文件

一、Nginx 1、什么是nginx? Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 2、用于什么场景 Nginx适用于各种规模的网站和应用程序,特别是需要高并发处理和负载均衡的场…

微信步数C++

题目: 样例解释: 【样例 #1 解释】 从 (1,1) 出发将走 2 步,从 (1,2) 出发将走 4 步,从 (1,3) 出发将走 4 步。 从 (2,1) 出发将走 2 步,从 (2,2) 出发将走 3 步,从 (2,3) 出发将走 3 步。 从 (3,1) 出发将…

AI 激活新势能,中小企业全媒体营销绽放无限可能

什么是全媒体营销: 全媒体营销是一种利用多种媒介渠道进行品牌、产品或服务推广的营销策略。它结合了传统媒体(如电视、广播、报纸、杂志)和新媒体(如互联网、社交媒体、移动应用等)的优势,以实现信息的广…

力扣之1322.广告效果

题目: sql建表语句: Create table If Not Exists Ads (ad_id int,user_id int,action ENUM (Clicked, Viewed, Ignored) ); Truncate table Ads; insert into Ads (ad_id, user_id, action) values (1, 1, Clicked); insert into Ads (ad_id, use…

【重学 MySQL】五十八、文本字符串(包括 enum set)类型

【重学 MySQL】五十八、文本字符串(包括 enum set)类型 CHAR 和 VARCHARTEXT 系列ENUMSET示例注意事项 在 MySQL 中,文本字符串类型用于存储字符数据。这些类型包括 CHAR、VARCHAR、TEXT 系列(如 TINYTEXT、TEXT、MEDIUMTEXT 和 L…

基于SSM的仿win10界面的酒店管理系统

基于SSM的仿win10界面的酒店管理系统 运行环境: jdk1.8 eclipse tomcat7 mysql5.7 项目技术: jspssm(springspringmvcmybatis)mysql 项目功能模块:基础功能、房间类型、楼层信息、附属功能

AtCoder ABC373 A-D题解

ABC372 的题解没写是因为 D 是单调栈我不会(⊙︿⊙) 比赛链接:ABC373 总结&#xff1a;wssb。听说 E 很水&#xff1f;有时间我看看。 Problem A: Code #include <bits/stdc.h> using namespace std; int mian(){int ans0;for(int i1;i<12;i){string S;cin>&g…

[Offsec Lab] ICMP Monitorr-RCE+hping3权限提升

信息收集 IP AddressOpening Ports192.168.52.218TCP:22,80 $ nmap -p- 192.168.52.218 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 de:b5:23:89:bb:9f:d4:1…

表面缺陷检测系统源码分享

表面缺陷检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

Redis篇(缓存机制 - 基本介绍)(持续更新迭代)

目录 一、缓存介绍 二、经典三缓存问题 1. 缓存穿透 1.1. 简介 1.2. 解决方案 1.3. 总结 2. 缓存雪崩 2.1. 简介 2.2. 解决方案 2.3. 总结 3. 缓存击穿 3.1. 简介 3.2. 解决方案 3.3. 总结 4. 经典三缓存问题出现的根本原因 三、常见双缓存方案 1. 缓存预热 1…

国外媒体宣发:怎么在海外电子杂志版上发布新闻稿-时代周刊Time发布新闻稿

时代周刊Time发布新闻稿 在全球化的浪潮中&#xff0c;新闻媒体扮演着传递信息、引导舆论、塑造公众认知的重要角色。作为国际知名的媒体品牌&#xff0c;时代周刊&#xff08;Time&#xff09;以其独特的视角和深入的报道&#xff0c;为全球读者提供了一扇观察世界的窗口。近…

深度学习:GAN图像生成

GAN的诞生背景 诞生&#xff1a; 2014年由Ian Goodfellow提出 创新性&#xff1a; 无监督学习&#xff1a;GAN 提供了一种新的方法来进行无监督学习&#xff0c;即不需要对训练数据进行标注就可以学习到数据的潜在分布。对抗训练&#xff1a;通过引入对抗机制&#xff0c;G…

C语言文件操作(下)(28)

文章目录 前言一、文件的打开和关闭打开打开模式相对路径和绝对路径 关闭 二、文件操作正确流程三、文件顺序读写函数fopenfclosefputcfgetcfputsfgetsfprintffscanfsprintfsscanffwritefread 四、文件随机读写函数fseekftellrewind 五、文件读取结束时候的判断feofferror具体例…