您现在的位置: > 技术沙龙 > 数据库 > SQL Server > Transact-SQL 参考 > STR
  • 相关软件
    >STR 创建者:webmaster 更新时间:2006-02-16 15:51

    由数字数据转换来的字符数据。



    语法


    STR ( float_expression [ , length [ , decimal ] ] )



    参数


    float_expression



    是带小数点的近似数字 (float) 数据类型的表达式。不要在 STR 函数中将函数或子查询用作 float_expression



    length



    是总长度,包括小数点、符号、数字或空格。默认值为 10。



    decimal



    是小数点右边的位数。



    返回类型


    char



    注释


    如果为 STR 提供 lengthdecimal 参数值,则这些值应该是正数。在默认情况下或者小数参数为 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)
    相关文章
    本页查看次数: