SQL中的TO_CHAR与TO_DATE分别是怎么用的

SQL中的TO_CHAR与TO_DATE分别是怎么用的?
他们有没有联系或有什么区别

TO_CHAR 是把日期或数字转换为字符串;

TO_DATE 是把字符串转换为数据库中得日期类型转换函数;

TO_NUMBER 将字符转化为数字;

一、TO_CHAR   
使用TO_CHAR函数处理数字   
TO_CHAR(number, '格式')   
TO_CHAR(salary,’$99,999.99’);   
使用TO_CHAR函数处理日期   
TO_CHAR(date,’格式’);二、TO_NUMBER   
使用TO_NUMBER函数将字符转换为数字   
TO_NUMBER(char[, '格式'])三、TO_DATE   
使用TO_DATE函数将字符转换为日期   
TO_DATE(char[, '格式'])
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-11
TO_CHAR (d,[,fmt[,'nlsparams']])
1、日期转换函数,将一个日期转换为VARCHAR2数据类型。转换结果问题总是18位字符长度。
nlsparams缺省时为当前系统语言。其中的格式,返回值大小写会相应显示。
如:TO_CHAR(SYSTEMDATE,'MON')的结果显示: JAN;
TO_CHAR(SYSTEMDATE,'mon')的结果显示:mon

2、数值转换函数,将一个NUMBER型转换成一个VARCHAR2数据类型的值;
e.g:select TO_CHAR(100,'L') FROM table
result: $100
e.g:select TO_CHAR(95270,'0000000000') from dual;
result:0000095270
L--为返回本地货币符的语法,待考究
$--返回以美元开始的语法

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

TO_DATE(CHAR[,fmt[,'nlsparams']])
该函数将CHAR或VARCHAR2数据类型的值转换为DATE类型。其中fmt为指定字符串输出的日期语法,如果省略了fmt,char就使用缺省的日期语法;另外,日期亦可以相加减;
e.g:INSERT INTO bonus(bonusdate) values (TO_DATE(January 12,1990, 11:00 A.M.','NLS_DATE_LANGUAGE=American') from table
e.g: Mydate:= to_date('092199','mmddyy')+5; --将092199转换为日期型并加5天

这是数据类型转换函数
第2个回答  2008-12-11
http://zhidao.baidu.com/question/28470452.html?si=1
里面很详细本回答被提问者采纳