SELECT distinct dbo.UnitConvert.FExp, Right(FExp,len(FExp)-4) 
FROM  UnitConvert
--结果
@原单位
@原单位 * 1000           * 1000
@原单位 * 1000 * 1000  * 1000 * 1000
@原单位 / 1000           / 1000
@原单位*1000           *1000
@原单位*12           *12
@原单位*2                    *2
@原单位*6                    *6
@原单位/1000           /1000
@原单位/1000000            /1000000
@原单位/12            /12
@原单位/2                     /2
@原单位/6                   /6用500这个数怎么换算
SELECT distinct dbo.UnitConvert.FExp,500 ??  Right(FExp,len(FExp)-4) 
FROM  UnitConvert

解决方案 »

  1.   

    给你一个例子
    create function f_calc(
    @str varchar(1000)--要计算的表达式
    )returns sql_variant
    as
    begin
    declare @re sql_variantdeclare @err int,@src varchar(255),@desc varchar(255)
    declare @obj intexec @err=sp_oacreate 'MSScriptControl.ScriptControl',@obj out
    if @err<>0 goto lb_errexec @err=sp_oasetproperty @obj,'Language','vbscript'
    if @err<>0 goto lb_errexec @err=sp_oamethod @obj,'Eval',@re out,@str
    if @err=0 return(@re)lb_err:
    exec sp_oageterrorinfo NULL, @src out, @desc out 
    declare @errb varbinary(4),@s varchar(20)
    set @errb=cast(@err as varbinary(4))
    exec master..sys.fn_varbintohexstr @errb,@s out
    return('错误号: '+@s+char(13)+'错误源: '+@src+char(13)+'错误描述: '+@desc)
    end
    go
    create TABLE ta(A INT,OP VARCHAR(1),B INT,C DECIMAL(9,2))
    INSERT INTO ta
    SELECT 2,'*',25,null UNION ALL
    SELECT 2,'+',3,null UNION ALL
    SELECT 2,'-',1,null UNION ALL
    SELECT 2,'/',1,null
    ;
    update ta
    set c =cast( dbo.f_calc(ltrim(a)+op+ltrim(b)) as DECIMAL(9,2))select * from tadrop table ta
    drop function f_calc
    /*
    A           OP   B           C
    ----------- ---- ----------- ---------------------------------------
    2           *    25          50.00
    2           +    3           5.00
    2           -    1           1.00
    2           /    1           2.00(4 行受影响)
    */
      

  2.   

    SELECT distinct dbo.UnitConvert.FExp, 
    cast(ltrim(500)+Right(FExp,len(FExp)-4)as decimal(9,2))
    FROM  UnitConvert
      

  3.   

    如果是SQL2000 

    exec master..sys.fn_varbintohexstr @errb,@s out=================>
    exec master..xp_varbintohexstr @errb,@s out