SQLShack (Italiano)

postato in: Articles | 0

Questo articolo spiega l’utilizzo della funzione di formato SQL e il confronto delle prestazioni con SQL CONVERT.

Introduzione

Nell’articolo SQL Convert Date functions and formats, abbiamo discusso l’utilizzo della funzione SQL CONVERT per convertire data e ora in più formati. Abbiamo una nuova funzione, FORMATO SQL, da SQL Server 2012.

Usiamo questa nuova funzione per ottenere l’output in un formato e una cultura specificati. Restituisce un tipo di dati NVARCHAR nell’output.,

Sintassi della funzione di FORMATO SQL

FORMATO (valore, formato)

Ha i seguenti parametri:

  • Valore: È il valore per fare la formattazione. Dovrebbe essere a supporto del formato del tipo di dati. È possibile fare riferimento alla documentazione Microsoft per un elenco di tipi di dati supportati e il loro tipo di dati equivalente
  • Formato: è il formato richiesto in cui è necessario l’output. Questo parametro deve contenere una stringa di formato. NET valida nel tipo di dati NVARCHAR. Possiamo fare riferimento ai tipi di formato in .,NET per maggiori dettagli
  • Cultura: È un parametro opzionale. Per impostazione predefinita, SQL Server utilizza la lingua di sessione corrente per una cultura predefinita. Possiamo fornire una cultura specifica qui, ma il framework. Net dovrebbe supportarlo., We get an error message in case of invalid Culture

We use the following SQL CONVERT function to get output in format:

1
SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS

As we know, we require format code in SQL Convert function for converting output in a specific format.,

Non abbiamo bisogno di codice di formato in funzione di FORMATO SQL. Diamo un’occhiata a vari esempi della funzione FORMAT:

SQL Format Date using Culture

Nella sezione precedente, non abbiamo usato l’argomento culture. Come sai, è un argomento facoltativo, quindi vediamo che differenza fa se lo specifichiamo in una query.

Nella query sottostante, vediamo il formato della data utilizzando l’argomento d per culture diverse. È possibile fare riferimento alla tabella per i codici cultura.,

Allo stesso modo, se cambiamo il formato da d a f nella query di cui sopra, fornisce il seguente output:

SQL Format Currency using Culture

Possiamo anche formattare la valuta usando questa funzione. Supponiamo di gestire un portale di shopping online in cui i clienti provenienti da un paese diverso vengono per lo shopping. Si desidera visualizzare i prezzi dei prodotti nella loro valuta., Nella seguente query, possiamo utilizzare la funzione FORMAT per mostrare prezzi con un simbolo di valuta:

formato di Numero nel FORMATO di funzione

in Fuga i due Punti e Periodi in FORMATO SQL funzione

Dobbiamo evitare due punti e periodi in questa funzione, e si, è l’adesione alla .NET CLR regole. Possiamo usare due punti e punto come secondo parametro, e il primo parametro dovrebbe essere una barra rovesciata., Nell’esempio seguente, vediamo che la seconda istruzione format salta i due punti nel tempo specificato:

Confronto delle prestazioni del FORMATO SQL e della funzione SQL CONVERT

Abbiamo esplorato i casi d’uso della funzione FORMAT. Potresti pensare che dovremmo smettere di usare la funzione SQL CONVERT e iniziare a usare il FORMATO SQL. Aspetta! Facciamo un confronto tra il FORMATO SQL e SQL CONVERT.,v>

  • Query4: Select all records from TestPerfomance order by ID column and use FORMAT function for the InputTime column:

    1
    2
    3
    4

    SELECT FORMAT(InputTime, ‘yyyy-MM-dd’)
    FROM TestPerformance
    ORDER BY id;
    GO 10

  • We can use DMV sys.,dm_exec_query_stats e sys. dm_exec_sql_text per ottenere i dati di confronto delle prestazioni delle istruzioni select che abbiamo eseguito sopra.

    Otteniamo il seguente output dal DMV:

    Per capirlo meglio, vediamo questi dati in un grafico:

    Guarda il grafico per le query 2, 3 e 4.,

    • Si ottenere alta tempo trascorso per la query che utilizza il FORMATO SQL funzione
    • la Query che utilizzano la funzione di CONVERSIONE, migliorare le prestazioni confrontare funzione FORMAT
    • vediamo anche total_clr_time per la query con la funzione FORMAT, mentre è pari a zero per la CONVERSIONE di funzione di query, in quanto la funzione format usa .Net CLR runtime

    Conclusione

    FORMATO SQL funzione è utile per convertire le date, ora, numero, valuta in un formato specificato. Dovremmo usarlo quando abbiamo bisogno di modifiche locali-aware solo in quanto potrebbe causare problemi di prestazioni., Dovremmo usare la funzione SQL CONVERT per tutti gli altri casi. Se si prevede di utilizzarlo in produzione, si consiglia di eseguire un test completo delle prestazioni per il carico di lavoro.,

    • Autore
    • Post Recenti
    Come un certificato MCSA e Microsoft Certified Trainer a Gurgaon, in India, con 13 anni di esperienza, Rajendra collabora con una serie di grandi imprese di messa a fuoco sull’ottimizzazione delle prestazioni, il monitoraggio, l’alta disponibilità e disaster recovery per le strategie e l’attuazione., È autore di centinaia di articoli autorevoli su SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git e tecnologie correlate che sono stati visti da oltre 10 milioni di lettori fino ad oggi.
    È il creatore di una delle più grandi collezioni online gratuite di articoli su un singolo argomento, con la sua serie di 50 parti su SQL Server Always On Availability Groups. Sulla base del suo contributo alla comunità SQL Server, è stato riconosciuto con vari premi tra cui il prestigioso “Best author of the year” ininterrottamente nel 2020 e 2021 a SQLShack.,
    Raj è sempre interessato a nuove sfide, quindi se avete bisogno di consulenza aiuto su qualsiasi argomento trattato nei suoi scritti, egli può essere raggiunto a rajendra.gupta16 @ gmail.,com
    Visualizza tutti i messaggi di Rajendra Gupta

    Ultimi messaggi di Rajendra Gupta (vedi tutti)
    • timeout di Sessione in SQL Server Gruppi di Disponibilità alwayson – febbraio 8, 2021
    • l’Esecuzione di piccoli e grandi aggiornamenti di versione per AWS RDS SQL Server – 29 gennaio 2021
    • la Distribuzione di AWS RDS PostgreSQL istanze – 27 gennaio 2021

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *