答案:
select
dbo.getpara('14层_303盘区_5307工作面',3,'_')
条件:先要再数据库中加入这个自定议函数。这里免费奉献给你一个有用的函数,用于按指定分隔符提取字串。
create
function
getpara
(@sql
nvarchar(3000),--要分割的原字串。
@sn
int,
--要取第几个
@deli
varchar(1))--分隔符
returns
varchar(1000)--返回值
as
begin
declare
@first
int,@last
int,@result
varchar(1000),@sn0
int
select
@sn0=0,@first=0,@last=1,@sql=@sql+replicate(@deli,5)
while
@sn0!=@sn
begin
select
@sn0=@sn0+1,@first=@last,@last=charindex(@deli,@sql,@last)+1
end
set
@result=substring(@sql,@first,@last-@first-1)
return
(
@result
)
end
go
1、用函数 ROUND(数值,s) ,其中 s 表示 小数位数。
例:SELECT ROUND(4.994,2) 返回 4.990。
2、用函数 CAST(数值 as numeric(n,s)),其中n表示有效数字位数,s表示小数位数。
例:SELECT CAST(4.994 as numeric(10,2)) 返回 4.99。
3、用函数 CONVERT(numeric(n,s),数值),其中n表示有效数字位数,s表示小数位数。
例: SELECT CONVERT(numeric(10,2),4.985) 返回 4.99。
其运用的函数是函数 TRUNC。而trunc函数的功能和函数INT类似,是截取日期或数字,返回指定的值。函数trunc直接去除数字的小数部分,而函数INT则是向下舍入到最接近的整数。
扩展资料
TRUNC(for number)语法格式:TRUNC(number,[decimals])
其中:
number 待做截取处理的数值。
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
trunc函数 turnc(x,y)如果y是负数,则对x在小数点左边的第|y|位处进行截断。
例如:TRUNC(5.75, -1)=0;
看成 0005.75.000 从小数点左边第一位往左边截,是0。
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。
参考资料来源:百度百科 trunc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)