我的库里的2个字段  price和nowprice  都是nvarchar类型的 
我想把price里的值取出来 *2 然后写进 nowprice里 
因为类型不同 所以需要先把nvarchar转换成int 然后*2 然后再转回 nvarchar再写进库 
我不知道的这语句哪里有问题 
麻烦赐教 UPDATE list 
SET nowprice = CONVERT(nvarchar, CONVERT(int, price) * 2) 
我觉得就一步update  应该不需要用存储过程来处理吧? 我的price和 nowprice都是0.00型的  我还尝试了一下将int 换成double 结果还是抱错

解决方案 »

  1.   

    上不了图...
    int时 报的错是
    Syntax error coverting the nvarchar value '0.13' to  column of date type int
    语句换成 
    UPDATE list
    SET nowprice = CONVERT(nvarchar, CONVERT(DOUBLE, price) * 2)
    的时候 报的错是
    Incorrect syntax near ','
      

  2.   

    UPDATE list 
    SET nowprice = CONVERT(nvarchar(20), CONVERT(NUMERIC(28,4, price) * 2) 
      

  3.   

    UPDATE list 
    SET nowprice = CONVERT(nvarchar(20), CONVERT(dec(9,2), price) * 2) 
      

  4.   

    UPDATE list 
    SET nowprice = price*2 我的price和 nowprice都是0.00型的  ,那就用这个就行了.
      

  5.   

    UPDATE list 
    SET nowprice = CONVERT(nvarchar, CONVERT(DOUBLE, price) * 2) --》》UPDATE list 
    SET nowprice = CONVERT(nvarchar, CONVERT(float, price*2) )