sux_stellino
Archivio Posts
Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

SQL Server 2012 - Transact-SQL - PARSE, TRY_PARSE e TRY_CONVERT

  
Continuiamo la carrellata dei nuovi costrutti disponibili sulla versione 2012 di SQL Server.
Oggi parliamo delle funzioni di conversione, e in particolare di:

PARSE
permette di effettuare il parsing di una stringa per poi castarla all'interno di uno specifico datatype, con la possibilità di passare anche una culture.
Questa funzione deve essere usata per convertire una stringa che contiene Date/Time e Numerici. Per gli altri tipi, anche come indica la documentazione, continuare ad usare CAST o CONVERT.
Inoltre, bisogna tenere a mente che il parsing prima del cast nel tipo di dato appesantisce l'operazione (consderare anche questo se si ha a che fare con operazioni su molte righe).
Per avere la lista dei tipi di dato e delle culture utilizzabili, andare sul link della reference.
Semplice esempio:

SELECT ParsedColumn = PARSE('30/03/2012' AS datetime)


TRY_PARSE
Molto simile alla precedente, ma il prefisso TRY_ fa capire che la gestione dell'errore è demandata interamente alla funzione. Nel caso in cui il cast fallisca, viene tornato NULL.
Esempio:

IF TRY_PARSE('Stringa' AS datetime USING 'en-US') IS NULL

       PRINT 'Errore'

ELSE

       PRINT 'ok'


TRY_CONVERT
Questa funzione, ragiona con il metodo della precedente, prova a convertire in un particolare tipo un'espressione, tornando null se la conversione non può essere effettuata o il valore convertito se è tutto ok.
Inoltre ha un parametro style che consente, come per la CONVERT, di definire con che stile formattare il risultato.
Esempio:

SELECT

    Result = CASE WHEN TRY_CONVERT(int, 'Strings') IS NULL

               THEN 'Nessuna conversione'

               ELSE 'Conversione ok'

             END;



Stay tuned! 

Categoria: SQL Server 2012
venerdì, 30 mar 2012 Ore. 17.20

Messaggi collegati


Calendario
maggio 2013
lmmgvsd
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

*****

*****

*****


*****


*****

*****

*****


*****



*****



*****



*****


Mappa
Statistiche
  • Views Home Page: 214.568
  • Views Posts: 400.882
  • Views Gallerie: 278.504
  • n° Posts: 373
  • n° Commenti: 272
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003