字段中保存着一个计算公式(g1 * 5 + g2 )是字符型的,我想对其中的字符g1、g2赋值后进行计算,得到数值,我该如何写sql首先我从字段中取出g1 * 5 + g2,这个公式,然后再对g1、g2赋值,   declare @gz Decimal(11,2)   
    declare @g1 Decimal(11,2)   
    declare @g2 Decimal(11,2) 
    declare @content varchar(100)     set @g1=5  
    set @g2=6 
    set @content = @g1 * 5 + @g2 
    select @content 这样的写发好象达不到我的要求,因为是从字段中取出来的g1 * 5 + g2请高手帮忙

解决方案 »

  1.   

    try:
    EXECUTE 'select g1*5+g2 into gz ' USING @g1, @g2
      

  2.   

    SET @s = 'select ?*5+? into gz';
    PREPARE stmt2 FROM @s;
    set g1=5;
    set g2=6; 
    EXECUTE stmt2 USING @G1, @G2;
      

  3.   

    Didn't you know the correct answer from another post?
    set global log_bin_trust_function_creators = 1;
    delimiter //
    drop function f_test//
    create function f_test()
    returns varchar(100)
    begin
        declare gz DOUBLE(11,2);
        declare g1 DOUBLE(11,2);
        declare g2 DOUBLE(11,2);
        declare content varchar(100);    set g1=5;
        set g2=6;
        set content=concat('',g1,'*5+',g2,'');
        select content into gz;
        return gz;
    end//
    delimiter ;