oracle中的时间处理函数to_char和to_date谁的效率好些了

我要把时间存到varchar的字段中去,用哪个效率高点。
2024-12-01 09:10:34
推荐回答(2个)
回答1:

to_char DATE 类型转换为 VARCHAR2
to_date VARCHAR2 类型转换为 DATE

单纯 TO_CHAR(sysdate, 'YYYY-MM-DD') 更快
还是 TO_DATE('2010-11-22', 'YYYY-MM-DD') 更快
其实没有太大的意义。

主要是你那个表,如果数据量很大, 在这个 varchar的字段上面,又创建有索引的话
那么检索的时候
要避免 WHERE TO_DATE(这个varchar字段, 'YYYY-MM-DD') = DATE 类型
尽可能使用 WHERE 这个字段 = TO_CHAR(DATE 类型, 'YYYY-MM-DD') 的方式。

回答2:

用to_char,
这两个函数没有可比性,因为它们做的事根本不同,正好相反。