【发布时间】:2011-12-10 09:49:40
【问题描述】:
具体来说,我正在构建一个电子邮件正文,并通过插入 CRLF(定义为 CRLF CONSTANT VARCHAR2(2) := CHR(13) || CHR(10);)和格式化美元值(在具有相同数据库字段值的两个地方使用此构造并获得不同的结果)来获得一些奇怪的行为在输出中TRIM(TO_CHAR(foo.mydollars, '$99,999,999,990.00')))。
在 CRLF 情况下,有时我得到一个换行符,有时没有。
在我看到的数字格式中:
1. 1,66942 美元。 2. 1,669.42 美元我正在运行 Oracle 10g。
所以我将消息正文输出到假脱机日志文件,美元值格式在所有情况下看起来都很完美。换行符不是问题,因为它是客户在惹我。仍然存在在邮件到达我的收件箱时在邮件中删除小数点的问题。
程序通过将字符集设置为 iso-8859-1 的包装器将邮件正文传递给 Oracle 邮件包,邮件正文的处理方式如下:
UTL_SMTP.write_raw_data (C, UTL_ENCODE.quoted_printable_encode (UTL_RAW.cast_to_raw (p_msgBody || UTL_TCP.crlf ) ) );【问题讨论】:
标签: oracle string-concatenation number-formatting