oracle to_char 语法

oracle 中 to_char 函数转换时如何指定字符串的长度,比如说sql中的convert(varchar(20),1234),还有类似的to_number。 谢谢

TO_CHAR 是把日期或数字转换为字符串,不能指定字符串长度。
使用TO_CHAR函数处理日期:
TO_CHAR(number, '格式') 例如:TO_CHAR(salary,’$99,999.99’)
使用TO_CHAR函数处理日期:
TO_CHAR(date,’格式’); TO_CHAR(newdate,’yyyy-mm-dd’)

指定字符串的长度可以使用lpad或者rpad或者substring:
lpad(字段名,填充长度,填充的字符) 左填充
rpad(字段名,填充长度,填充的字符) 右填充
substr( string, start_position, [ length ] )取得字符串中指定起始位置和长度的字符串追问

那这样的convert(varchar(20),1234),只能用类似to_char(1234,‘999999999999999’)这样来规定长度和格式对吧?谢谢

追答

是的,可以。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-18
TO_CHAR 是把日期或数字转换为字符串,不能指定字符串长度。
使用TO_CHAR函数处理日期:
TO_CHAR(number, '格式') 例如:TO_CHAR(salary,’$99,999.99’)
使用TO_CHAR函数处理日期:
TO_CHAR(date,’格式’); TO_CHAR(newdate,’yyyy-mm-dd’)
第2个回答  2012-10-18
使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);

数字格式格式
9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符

日期格式
格式控制 描述
YYYY、YYY、YY 分别代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午或者下午
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词

日期例子:
SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL
SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL
SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL
SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL
SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL
SELECT TO_DATE('2006', 'YYYY') FROM DUAL
第3个回答  2012-10-18
这个我也想知道。。。
相似回答