sql 中将数字转换为字符串—STR()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sql 中将数字转换为字符串的最简单方法
2010年01月22日星期五下午08:04
STR
由数字数据转换来的字符数据。
语法
STR (float_expression[ ,length[ ,decimal] ] )
参数
float_expression
是带小数点的近似数字(float) 数据类型的表达式。
length
是总长度,包括小数点、符号、数字或空格。默认值为10。
decimal
是小数点右边的位数。
返回类型
char
注释
如果为STR 提供length和decimal参数值,则这些值应该是正数。在默认情况下或者小数参数为0 时,数字四舍五入为整数。指定长度应该大于或等于小数点前面的数字加上数字符号(若有)的长度。短的float_expression在指定长度内右对齐,长的float_expression则截断为指定的小数位数。例如,STR(12,10) 输出的结果是12,在结果集内右对齐。而STR(1223, 2) 则将结果集截断为**。可以嵌套字符串函数。
说明若要转换为Unicode 数据,请在CONVERT 或CAST 转换函数内使用STR。
示例
A. 使用STR
下例将包含五个数字和一个小数点的表达式转换为有六个位置的字符串。数字的小数部分四舍五入为一个小数位。
SELECT STR(123.45, 6, 1)
GO
下面是结果集:
------
123.5
(1 row(s) affected)
当表达式超出指定长度时,字符串为指定长度返回**。
SELECT STR(123.45, 2, 2)
GO
下面是结果集:
--
**
(1 row(s) affected)
即使数字数据嵌套在STR内,结果集也是带指定格式的字符数据。SELECT STR (FLOOR (123.45), 8, 3)
GO
下面是结果集:
--------
123.000
(1 row(s) affected)
B. 使用STR 和CONVERT 函数
下例比较STR 和CONVERT 的结果。
SELECT STR(3.147) AS 'STR',
STR(3.147, 5, 2) AS '2 decimals',
STR(3.147, 5, 3) AS '3 decimals'
GO
下面是结果集:
STR 2 decimals 3 decimals
---------- ---------- ----------
3 3.15 3.147
(1 row(s) affected)
-- Use CONVERT.
SELECT CONVERT(char(1), 3.147) AS 'CHAR(1)', CONVERT(char(3), 3.147) AS 'CHAR(3)',
CONVERT(char(5), 3.147) AS 'CHAR(5)' GO
下面是结果集:
CHAR(1) CHAR(3) CHAR(5)
------- ------- -------
(null) (null) 3.147
(1 row(s) affected)