声明 @Dimension = '1 1/4' varchar(20)
我想将 Dimension = '1 1/4'
更改为 Dimension = '1.2500'
。不知道怎么分割
一个 varchar 变成 2 个 varchar 并更改一部分,然后重新组合成一个 varchar
UPDATE VF_CasINV_Cost
SET @Dimension = CASE
when (@Dimension like '%1/4') then
(left(@Dimension, charindex(' ', @Dimension, 1) - 1) *
(substring(@Dimension, 1 + charindex(' ', @Dimension, 1), len(@Dimension)))
end
where @Dimension like '%1/4'
如果知道如何解析分数并将其即时重新转换为小数,那就太好了
最佳答案
declare @x varchar(100)
select @x = '15 3/165'
select
convert(int, substring(@x, 1, charindex(' ', @x))) + (
convert(decimal(12,4), substring(@x, charindex(' ', @x) + 1, charindex('/', @x) - charindex(' ', @x) - 1)) /
convert(decimal(12,4), substring(@x, charindex('/', @x) + 1, len(@x) - charindex('/', @x)))
)
关于sql-server - 将字符串 = '1 1/4' 更改为 '1.2500',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900323/