会计实操网 加入收藏  -  设为首页
您的位置:会计实操网 > 会计问答 > 正文
oracle的查询语句中to_date()是什么意思,那里面的参数分别代表什么含义?
oracle的查询语句中to_date()是什么意思,那里面的参数分别代表什么含义?
提示:

oracle的查询语句中to_date()是什么意思,那里面的参数分别代表什么含义?

D)TO_DATE使用详解\x0d\x0a时常使用to_date函数来查询特定时间内的数据。 \x0d\x0a语法:\x0d\x0aTO_DATE(x [, format])用于将字符串x转换为时间值,该函数可以指定一个可选的字符串format参数来说明x的格式。\x0d\x0a如果没有指定format参数,日期就使用默认的数据库格式(通常是DD-MON-YYYY或DD-MON-YY)。\x0d\x0a\x0d\x0a注意:\x0d\x0a\x0d\x0a数据库参数NLS_DATE_FORMAT指定了默认的日期格式。可以修改NLS_DATE_FORMAT的设置。\x0d\x0a\x0d\x0a2. 指定时间\x0d\x0a\x0d\x0a当然,在时间值中也可以指定时间。如果在时间值中没有指定时间,那么时间值的时间部分默认为12:00:00 A.M.。时间可以使用前面表5-2所示的各种格式。时间格式的一个例子是HH24:MI:SS,其中:\x0d\x0a\x0d\x0a● HH24是一个2位数字,表示24小时格式中的小时数,该值的范围为00~23。\x0d\x0a\x0d\x0a● MI 是一个2位数字,表示分钟,该值的范围为00~59。\x0d\x0a\x0d\x0a● SS 是一个2位数字,表示秒,该值的范围为00~59。\x0d\x0a\x0d\x0a使用HH24:MI:SS格式的一个时间的例子是19:23:36。使用这个时间的一个完整时间值是:\x0d\x0a\x0d\x0a05-FEB-1968 19:32:36\x0d\x0a\x0d\x0a这个时间值的格式为:\x0d\x0a\x0d\x0aDD-MON-YYYY HH24:MI:SS \x0d\x0a\x0d\x0ato_data(date&time,format)\x0d\x0a其中第一个参数date&time是我们要查询的具体日期和时间,比如:2006年5月21日。但是这个时间也分\x0d\x0a为很多种精度的,比如:\x0d\x0a2006年5月21日\x0d\x0a2006年5月21日17:24\x0d\x0a2006年5月21日17:34分55秒 \x0d\x0a这个精度要根据实际情况来定。\x0d\x0a \x0d\x0a另外一个参数format决定的日期的表示方法,比如:\x0d\x0a2006年5月21日 可以表示为:060521、20060521、2006FEB21等等\x0d\x0a而他们对应的format为\x0d\x0a060521 YYMMDD\x0d\x0a20060521 YYYYMMDD\x0d\x0a2006FEB21 YYYYMONDD\x0d\x0a \x0d\x0a示例:\x0d\x0aselect * from book where intime=to_date('2003/02/17/17/53/55','YYYY/MM/DD/HH24/MI/SS')\x0d\x0a \x0d\x0a上面的语句是查询:2003年8月17日下午5点53分55秒,入库的书本。\x0d\x0a其实用下面的写法也是可以的\x0d\x0aselect * from book where intime=to_date('20030217175355','YYYYMMDDHH24MISS')\x0d\x0aselect * from book where intime=to_date\x0d\x0a('2003-02-17-17-53-55','YYYY-MM-DD-HH24/-I-SS')\x0d\x0a中间的连字符"/"、":"或是"-",并不影响表达,只是为了更加容易看清楚。\x0d\x0a \x0d\x0a表示年份有以下几种格式,及这种格式对应的表达方法:\x0d\x0a2003年为例\x0d\x0aYYYY 2003\x0d\x0aYYY 003\x0d\x0aYY 03\x0d\x0a \x0d\x0a月份表示格式及表达方法:\x0d\x0a二月分为例\x0d\x0aMM 08\x0d\x0aRM IIX(罗马数字)\x0d\x0aMONTH february\x0d\x0aMON feb\x0d\x0a \x0d\x0a日期的格式及表达方法:\x0d\x0a17号为例\x0d\x0aDDD 76 2月的17日在本年度(不是闰年的情况)是多少天 \x0d\x0aDD 17 在本月中是号(17号)\x0d\x0aD 在这一个星期是哪天\x0d\x0a \x0d\x0a星期的格式和表示方法:\x0d\x0a星期一为例\x0d\x0aDAY monday 全名显示 \x0d\x0aDY mon 缩写\x0d\x0a \x0d\x0a小时的格式和表示方法:\x0d\x0aHH24 18 二十四小时制\x0d\x0a \x0d\x0a分钟的格式和表示方法:\x0d\x0aMI 32 该小时32分钟\x0d\x0a \x0d\x0a秒的表示方法\x0d\x0aSS 28 该分钟28秒

问下大家oracle中to_timestamp和to_date什么区别啊?
提示:

问下大家oracle中to_timestamp和to_date什么区别啊?

一、区别: 1)由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒。 2)如果要取到毫秒,oracle 9i以上版本,可以使用timestamp类型, timestamp是date的扩展类型,能支持到毫秒,毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。 操作演示示例如下: 1、创建测试表,create table test_date(v_date varchar2(100)); 2、插入测试数据, insert into test_date values('20190101 12:00:05'); insert into test_date values('20191205 00:05:22'); insert into test_date values('20191110 11:11:51'); 3、执行to_date语句sql, select v_date, to_date(v_date,'yyyymmdd hh24:mi:ss') v_date2 from TEST_DATE t 4、执行to_timestamp语句sql, select v_date, to_timestamp(v_date,'yyyymmdd hh24:mi:ss') v_date2 from TEST_DATE t;

oracle数据库的 to char 和to date 区别
提示:

oracle数据库的 to char 和to date 区别

一、功能不同 1、to char:将时间日期按照指定的格式输出,得到的是字符串,而非date类型。 2、to date:将字符串按照指定的格式输出,得到的是日期类型。 二、语法不同 1、to char: to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 。 2、to date:to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') 。 三、规则不同 1、to char:只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以。 2、to date:第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。 参考资料来源:百度百科-to_char() 参考资料来源:百度百科-date函数