barriers / 阅读 / 详情

oracle trunc()函数关于日期和时间,需要详细解答和举例?

2023-08-09 12:57:19
共3条回复
LuckySXyd

Trunc Function (with dates)

In Oracle/PLSQL, the trunc function returns a date truncated to a specific unit of measure.

oracle中,trunc函数返回一个按照特定计量单位截取后的date值

The syntax for the trunc function is:

语法如下:

trunc ( dat1e, [ format ] )

da1te is the date to truncate.

da1te是要截断的date

format is the unit of measure to apply for truncating. If the format parameter is omitted, the trunc function will truncate the date to the day value, so that any hours, minutes, or seconds will be truncated off.

format 是截取时依据的计量单位(类似于数字中的精度)。如果format省略,date1就返回当天的日期值,即只保留日期,时间为 0:00:00

Below are the valid format parameters:

以下是合法的参数值:

Unit Valid format parameters

Year 】 SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y

ISO Year】 IYYY, IY, I

Quarter】 Q

Month】 MONTH, MON, MM, RM

Week】 WW

IW】 IW

W】 W

Day】 DDD, DD, J

Start day of the week】 DAY, DY, D

Hour】 HH, HH12, HH24

Minute】 MI

Applies To:

Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

For example:

trunc(to_date("22-AUG-03"), "YEAR") would return "01-JAN-03"

trunc(to_date("22-AUG-03"), "Q") would return "01-JUL-03"

trunc(to_date("22-AUG-03"), "MONTH") would return "01-AUG-03"

trunc(to_date("22-AUG-03"), "DDD") would return "22-AUG-03"

trunc(to_date("22-AUG-03"), "DAY") would return "17-AUG-03"

苏州马小云

TRUNC()函数分两种

1.TRUNC(for dates)

TRUNC函数为指定元素而截去的日期值。

其具体的语法格式如下:

TRUNC(date[,fmt])

其中:

date 一个日期值

fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去

下面是该函数的使用情况:

TRUNC(TO_DATE("24-Nov-1999 08:00 pm","dd-mon-yyyy hh:mi am"))

="24-Nov-1999 12:00:00 am"

TRUNC(TO_DATE("24-Nov-1999 08:37 pm","dd-mon-yyyy hh:mi am","hh")) ="24-Nov-1999 08:00:00 am"

2.TRUNC(for number)

TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。

其具体的语法格式如下

TRUNC(number[,decimals])

其中:

number 待做截取处理的数值

decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分

下面是该函数的使用情况:

TRUNC(89.985,2)=89.98

TRUNC(89.985)=89

TRUNC(89.985,-1)=80

注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。

Chen

以下 SQL 执行于 2010-10-17 22点多这个样子。

不知道你看了例子以后,能不能明白。

alter session set nls_date_format="YYYY-MM-DD HH24:MI:SS";

Session altered.

SQL> SELECT "Year" AS truncType , TRUNC( SYSDATE, "YYYY" ) FROM DUAL

2 UNION ALL

3 SELECT "Quarter" AS truncType, TRUNC( SYSDATE, "Q" ) FROM DUAL

4 UNION ALL

5 SELECT "Month" AS truncType, TRUNC( SYSDATE, "MM" ) FROM DUAL

6 UNION ALL

7 SELECT "Week" AS truncType, TRUNC( SYSDATE, "W" ) FROM DUAL

8 UNION ALL

9 SELECT "Day" AS truncType, TRUNC( SYSDATE, "D" ) FROM DUAL

10 UNION ALL

11 SELECT "Hour" AS truncType, TRUNC( SYSDATE, "HH" ) FROM DUAL;

TRUNCTYPE TRUNC(SYSDATE,"YYYY

-------------- -------------------

Year 2010-01-01 00:00:00

Quarter 2010-10-01 00:00:00

Month 2010-10-01 00:00:00

Week 2010-10-15 00:00:00

Day 2010-10-17 00:00:00

Hour 2010-10-17 22:00:00

6 rows selected.

相关推荐

Please enter a valid date什么意思?

请输入一个有效的出生日期 或 请输入一个有效的起始数据
2023-08-06 19:02:291

客户发来一个水单,其中val dte的日期是什么意思。

目测是valid date,国外付款(中国香港也是一样的)可以先交给付款银行一张盖章的支票,上面写上什么日期正式付出去(即valid date),当到了此指定日期时银行才会汇款划账的。fyi 查看原帖>>
2023-08-06 19:02:382

关闭财务系统时提示·--·is not a valid date是什么意思?应该怎样解决

是系统日期格式出问题,在开始--设置--时间语言--日期区域格式设置--更改数据格式,更改为提示的日期格式就可以。
2023-08-06 19:02:493

请问:" is not a valid date "是什么意思?

是不是一个有效日期
2023-08-06 19:03:064

怎样解决oracle报错is not a valid date and time

方法/步骤 1. 第一步,右击任务栏上的时间,选调整日期和时间(A),然后再点“更改日期和时间”进入日期和时间设置。 2. 第二步,点左下角的“更改日历设置”,然后进入区域选项。3. 第三步,将短日期和长日期的格式改为yyyy/m/d的格式,也就是说去掉星期,经过这样一改以后。再运行程序,OK!
2023-08-06 19:03:162

管家婆普及版在过帐时出现'--'is not a valid date 是什么样意思?怎么才能解决让他不出来

打开软件的安装目录找到“backup”文件夹,打开——“backup.ini”文件,把里面的东西删除,然后保存。。。重新进软件就好了。。。
2023-08-06 19:03:523

license valid date 什么意思

license valid date许可证有效期拼音双语对照双语例句1Except suspended or revoked, this license remains valid until the expiry date whilst in CCAR-66.18.除暂停或吊销,本执照在CCAR-66第十八条规定的期限内有效。
2023-08-06 19:04:382

完美汽车4S管理系统V12出现isnotavaliddate是什么意思

意思是时间与系统时间格式不一致。可以在电脑右下角更改系统的时间设置。CS:GO官方平台——完美平台是2021年RMR亚洲区春季赛官方指定竞技平台,平台质量得到了诸多职业选手的认可。平台具有严密高效的设备级反作弊系统,能够实现“热身秒封”;并且全线配置高规格3.5GHz睿频阿里云服务器,架枪滴水不漏,全方位守护你的游戏体验。平台现已成功举办过多次由Valve官方授权认证的大型赛事,如CAC亚洲邀请赛、PAL完美世界职业联赛等,更搭载了丰富多样的全民参与类赛事,低门槛、重参与,使每一位玩家感受到赛场温度
2023-08-06 19:04:461

Led屏出现2009-05-05is not a valid date是什么意思

意思:2009.05 05不是有效的日期和时间。估计你的格式有错。一般格式有yyyy-mm-dd;操作方法:进入系统的控制面板-->区域和语言 修改设置如果图格式:
2023-08-06 19:04:551

请问管家婆关机时出现 错误:一一 is not a valid date是什么意思,要怎么做

找到控制面板--区域和语言选项--日期分隔符设置成短横线,格式为yyyy-MM-dd时间格式长短问题,很多软件都有这个问题,管家婆,芯管家进销存等都有这个设置问题
2023-08-06 19:05:121

PLSQL提示 is not a valid date and time怎么办

PLSQL提示 is not a valid date and time怎么办工具/原料PLSQL DeveloperWIN7方法/步骤右击右下角的日期和时间,选择【更改日期和时间设置】右击【更改日期和时间设置(D)...】右击【更改日历设置】日期格式中的短日期从yyyy/M/d修改成yyyy-M-d,确定后,重新打开PLSQL Developer,插入日期数据时,就不会出现这样的报错。END注意事项不只是Oracle会出现这种情况,当其他软件出现类似的提示时,也可以使用这个办法
2023-08-06 19:05:281

如何判断一个字符串是否是日期

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。public class DateUtil{private static final SimpleDateFormat dateFormat = null;static{// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;dateFormat = new SimpleDateFormat("yyyy/MM/dd");// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01dateFormat.setLenient(false);}public static boolean isValidDate(String s){try{dateFormat.parse(s);return true;}catch (Exception e){// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对return false;}}// 下面这个方法则可以将一个日期按照你指定的格式输出public static String formatDate(Date d){return dateFormat.format(d);}}
2023-08-06 19:05:351

美萍仓库软件出现2013-06-01 is not a valid date这种错误怎么解决。

建议你找美萍供应商解决。同行软件:秘奥仓库管理软件
2023-08-06 19:05:463

2009.03 30 is not a valid date是什么意思怎么解决

意思:2009.03 30不是有效的日期和时间。 估计你的格式有错。一般格式有yyyy-mm-dd;mm-dd-yy等等 如果是在电脑上的话,可能是系统的问题,如果不是病毒篡改了时间,就是软件过期了。
2023-08-06 19:06:161

我的U盾到不管到谁的电脑上,登录后都是提示 is not a valid date and time

您好,这个情况有2种:1.可能是您电脑上设置的时间不对,请您查看电脑右下方的时间(年/月/日)是否为当前时间。或者打开电脑左下方“开始”-“控制面板”-“区域及语言选项”,把当前位置设置为“中国”2.专业版读取时间文件错误,请重启电脑再操作,如果不行,需要重安装专业版程序。 若您仍有疑问和意见,欢迎登录在线客服https://forum.cmbchina.com/cmu/icslogin.aspx?from=B&logincmu=0进行咨询,我们将竭诚为您服务!感谢您对招商银行的关注与支持!
2023-08-06 19:06:351

EXCEL结果跳出错误对话框valid date format DD/MM/YY,不能成功填入数据是怎么回事捏?

你输入的是09年?输个08 试下
2023-08-06 19:06:433

速达5000工业版的服务器不能打开,显示is not a valid date

把进程关掉重新打开
2023-08-06 19:06:531

总提示“is not a valid date"怎么解决

不是一个有效的日期(请更改一下系统日期)
2023-08-06 19:07:111

广联达保存时提示is not valid date and time是什么意思?

不是有效的日期和时间
2023-08-06 19:07:193

PLSQL提示 is not a valid date and time怎么办

 现象:在使用PLSQL Developer插入数据时,提示类似这样报错"2011-8-7 4:43:23" is not a valid date and time或者"2011/8/7 4:43:23" is not a valid date and time。  原因:Oracle的日期格式和操作系统的日期格式不符。
2023-08-06 19:07:341

美萍软件出现2011-05-17 is not valid date and time 这种错误怎么弄,麻烦知道的解释下

不知道楼主用的是美萍的哪个软件 .建议楼主联系自己的供货商或者是直接咨询美萍软件公司的技术支持人员,相信他们会帮你解决这个问题的
2023-08-06 19:07:463

执行存储过程的时候 oracle 已经改了时间设置还是is not a valid date and time 这个错

确定下这两个表clinic_master和outp_bill_items中visit_date的存放格式,是否为20170326这样格式的,如果确定无误,看看是否有格式非法的,比如20170332这样的,还有问题就要进一步检查语句或数据了。
2023-08-06 19:07:561

PLSQL提示 is not a valid date and time怎么办

首选项 SQL窗口 勾选date_to_char
2023-08-06 19:08:062

PLSQL提示 is not a valid date and time怎么办

工具/原料 PLSQL Developer WIN7 方法/步骤 右击右下角的日期和时间,选择【更改日期和时间设置】 右击【更改日期和时间设置(D)...】 右击【更改日历设置】 日期格式中的短日期从yyyy/M/d修改成yyyy-M-d
2023-08-06 19:08:151

is not a valid date and time

不是有效的日期和时间
2023-08-06 19:08:353

怎样解决传奇报错is not a valid date and time

  两种解决办法,  第一,修改电脑时间格式,细节可以百度下传奇架设时间格式错误报错解决办法。  第二,在服务端里找到一个文件,好像是!setup.txt文件,查找DAY,有个后面有一串时间的,和你报错的时间是一样的,删除时间即可。
2023-08-06 19:08:501

Please enter a valid date of birth中文意思是什么 急

请输入一个有效的出生日期
2023-08-06 19:09:051

W7玩传奇单机耍不起,提示框M2server 内容是 `2011-7-23 14:23:38` is not a valid date and time 求解

把你的系统时间格式改成‘yyyy-mm=dd"这种形式
2023-08-06 19:09:152

Exception EConvertError in module AJW_AH2.exe at 00009172."2011-11-10" is not a valid date.什么意思

意外错误,AJW_AH2.exe 文件转换错误,“2011-11-10”属于非有效日期。
2023-08-06 19:09:271

isnotavaliddateandtime什么意思

可能是格式不符合程序要求. 那说明你的这个时间不是正常时间. 你需要双击右下角的时间,然后把时间调整正确,确定即可 2010年8月20日14点22分11秒不是一个有效的日期和时间 但具体是怎么回事,你应该说明你是在什么情况下出现上述错误的!这样才好解决啊!
2023-08-06 19:09:401

私服架设时间报错是怎么弄啊?启动M2SERVER时显示 2012-5-22 19:46:37is not a valid date and time

hjjhjjh
2023-08-06 19:09:482

安装系统时出现:系统2009-01-01 is not a valid date and time 如何办

把你VISTA的时间改为2009-01-01试试,应该是时间不匹配的错误。
2023-08-06 19:09:541

如何判断一个日期字符串是否合法

public static boolean isValidDate(String str) { boolean convertSuccess=true;     // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写; SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm"); try {     // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 format.setLenient(false); format.parse(str); } catch (ParseException e) { // e.printStackTrace();// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 convertSuccess=false; } return convertSuccess;}
2023-08-06 19:10:021

关闭财务系统时提示·--·is not a valid date是什么意思?应该怎样解决

是系统日期格式出问题,在开始--设置--时间语言--日期区域格式设置--更改数据格式,更改为提示的日期格式就可以。
2023-08-06 19:10:253

管家婆普及版在过帐时出现'--'is not a valid date 是什么样意思?怎么才能解决让他不出来

某个程序启动,使用了时间,但与系统的时间格式不一致。导致出错把自己电脑的时间设置正确请查看启动项目,删除不需要的内容即可。详细步骤:1、右击右下角的日期和时间,选择【更改日期和时间设置】。2、右击【更改日期和时间设置(D)...】。3、右击【更改日历设置】。4、日期格式中的短日期从yyyy/M/d修改成yyyy-M-d,确定后,重新打开PLSQLDeveloper,插入日期数据时,就不会出现这样的报错。
2023-08-06 19:10:431

怎样解决oracle报错is not a valid date and time

oracle报错is not a valid date and time的原因是系统错误导致的,具体解决方法步骤如下:1、首先打开计算机,在计算机内找到【更改日期和时间设置】选项并单击。2、然后在界面内使用鼠标单击【更改日期和时间设置(D)...】选项。3、然后在弹出的界面内找到【更改日历设置】选项并单击。4、然后将日期格式中的短日期从yyyy/M/d修改成yyyy-M-d即可解决oracle报错is not a valid date and time的问题了。
2023-08-06 19:11:191

oracle报错is not a valid date and time怎么办

oracle报错is not a valid date and time的原因是系统错误导致的,具体解决方法步骤如下:1、首先打开计算机,在计算机内找到【更改日期和时间设置】选项并单击。2、然后在界面内使用鼠标单击【更改日期和时间设置(D)...】选项。3、然后在弹出的界面内找到【更改日历设置】选项并单击。4、然后将日期格式中的短日期从yyyy/M/d修改成yyyy-M-d即可解决oracle报错is not a valid date and time的问题了。
2023-08-06 19:11:531

isnotavaliddate是什么意思

无效日期
2023-08-06 19:12:273

我在退出”管家婆财贸双全单机网络版“时弹出提示:”--“is not a valid date。退不出去,怎么办?

这个是清空backup.ini 文件内容就行
2023-08-06 19:12:372

PLSQL提示 is not a valid date and time怎么办

工具/原料PLSQL DeveloperWIN7方法/步骤右击右下角的日期和时间,选择【更改日期和时间设置】右击【更改日期和时间设置(D)...】右击【更改日历设置】日期格式中的短日期从yyyy/M/d修改成yyyy-M-d,确定后,重新打开PLSQL Developer,插入日期数据时,就不会出现这样的报错。END注意事项不只是Oracle会出现这种情况,当其他软件出现类似的提示时,也可以使用这个办法
2023-08-06 19:12:461

is not a valid date and time是什么意思

is not a valid date and time不是有效的日期和时间
2023-08-06 19:13:052

PLSQL提示 is not a valid date and time怎么办

用to_date转换select * from tab where col >= to_date("2017-08-30 15:28:00","yyyy-mm-dd hh24:mi:ss")
2023-08-06 19:13:141

JAVA 判断一个字符串是不是一个合法的日期格式

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。public class DateUtil{ private static final SimpleDateFormat dateFormat = null; static { // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写; dateFormat = new SimpleDateFormat("yyyy/MM/dd"); // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 dateFormat.setLenient(false); } public static boolean isValidDate(String s) { try { dateFormat.parse(s); return true; } catch (Exception e) { // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 return false; } } // 下面这个方法则可以将一个日期按照你指定的格式输出 public static String formatDate(Date d) { return dateFormat.format(d); }}
2023-08-06 19:13:292

Please enter a valid date of birth中文意思是什么 急

请输入一个有效的出生日期
2023-08-06 19:13:391

传奇单机 架设 出现 M2server提示2014-10-17下午11:23:15 is not a valid date and time是什么问题?

系统兼容问题M2文件夹下删除时间就行了
2023-08-06 19:13:493

“Please enther a valid date of birth”是什么意思?

请输入有效地生日
2023-08-06 19:13:581

满期(expiry )的相反意思是哪个单词?

Validity 有效期Valid Date 有效期
2023-08-06 19:14:122

传奇单机 启动的时候 正在连接远程NPC服务器 然后对话框2011-2-28 20:07:00 is not a valid date and time

因为系统是W7的 你还XP就莫有问题
2023-08-06 19:14:325

Please enter a valid date of birth中文意思是什么

请输入一个有效的起始数据
2023-08-06 19:14:484

为什么打开 windows优化大师 会出现(2013,53,1) is not a valid DateWeek triplet.

BUG ,去官网下载最新的
2023-08-06 19:14:554