sql语句来增加字符串位数

sql语句来增加字符串位数,第1张

问题确认:你是要提取以下划线(_)为分隔符的字串的第三个子字串。

答案:

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11637395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存