猿问
下载APP

关于在mybaties 和 oracle的to_date函数的问题?

mybaties 和 oracle的to_date函数的问题


撒科打诨
浏览 70回答 4
4回答

慕村225694

如果是WHERE条件中,选择是否转换日期字段为字符串和字符串比:例如to_char(datecolumn,'yyyy-mm-dd') = '2011-07-13'还是日期类型的字段和转传进来的字符串转日期比:datecolumn = to_date('2011-07-13','yyyy-mm-dd')如果字段是日期类型,还是保留原有的日期,使用日期比日期,因为这样比较,首先如果你在这个字段有索引的话,索引有效。否则转字符索引会失效。而且让ORACLE处理本身类型的,肯定要好一些。

天涯尽头无女友

应该是按实际情况来定了,不一定那个效率更高,比如 在where col=? col是日期型的,那就用to_date()转换后面的条件, 如果是字符串型的,就to_char()转换,我认为再换自己写的条件,比转换一列的效率要高的多。即不要用to_char或者to_date()转化列

尚方宝剑之说

to_date是将一个日期的字符串 转换成为日期即varchar转 dateto_date('2010-01-01','yyyy-mm-dd');第一个参数是要转成日期的数据第二个是转成的格式

ITMISS

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