Welcome to Sign in | Help

Re: Functia CAST

  •  11-27-2007, 2:55 PM

    Re: Functia CAST

    Eu ţi-aş recomanda să eviţi eroarea (în loc să o tratezi), verificând înainte de conversie dacă acea conversie e posibilă. O modalitate ar fi să foloseşti funcţia ISNUMERIC:

     

    DECLARE @x AS VARCHAR(50), @y bigint, @eroare nvarchar(255)
    SET @x='12a3'

    IF ISNUMERIC(@x)<>0 SET @y = CAST(@x AS BIGINT)
    ELSE SET @eroare = 'eroare la conversie'

    SELECT @y, @eroare

    Dar funcţia ISNUMERIC nu returnează totdeauna ceea ce te aştepţi (încearcă de exemplu cu '.', '$', '1e3', etc). Pentru explicaţii şi soluţii alternative, vezi: http://classicasp.aspfaq.com/general/what-is-wrong-with-isnumeric.html

    Răzvan 

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems