【sqlserver函数】str()
函数定义:str(float_expression [ , length [ , decimal ] ])
函数功能:⽤于将数值数据转换为字符数据
参数说明:
  float_expression是⼀个可带有⼩数点的数字数据类型的表达式【必填】
  length表⽰转换为字符数据的总长度,它包括⼩数点、符号、数字以及空格,默认长度值为10【可⽆】
  decimal指定⼩数点后的位数,decimal必须⼩于或等于16,如果⼤于16,则会截断结果,使其保持⼩数点后有16位【可⽆】
转换规则:先看整数部分是否满⾜转换长度,若长度值⼩于整数长度返回“*”,若长度值⼤于整数长度,再看⼩数部分。⼩数部分能按要求转换后仍不⾜转换长度,再在左侧补空格
测试⽤例:
  1.只有⼀个参数
select replace( str(123),'','0');  --0000000123
select replace( str(123.0),'','0');--0000000123
select len(str(123));--10
select len(str(123.0));--10
View Code
  2.有两个参数
select replace( str(123,7),'','0');  --0000123
select replace( str(123.0,7),'','0');--0000123
select len(str(123,7));--7
select len(str(123.0,7));--7
View Code
  3.有三个参数
select''''+str(123,1,2) +'''';--'*'
select''''+str(123,2,2) +'''';--'**'
select''''+str(123,3,2) +'''';--'123'
select''''+str(123,4,2) +'''';--' 123'
select''''+str(123,5,2) +'''';--'123.0'
select''''+str(123,6,2) +'''';--'123.00'
select''''+str(123.0,1,2) +'''';--'*'
float()函数select''''+str(123.0,2,2) +'''';--'**'
select''''+str(123.0,3,2) +'''';--'123'
select''''+str(123.0,4,2) +'''';--' 123'
select''''+str(123.0,5,2) +'''';--'123.0'
select''''+str(123.0,6,2) +'''';--'123.00'
select''''+str(123.0,7,2) +'''';--' 123.00'
View Code