SQL: conteggi per fasce di valori

23 marzo 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come ottenere una classificazione per fasce di una serie di valori.

Una delle classificazione classiche di una lista di valori è per fasce (di prezzo, ad esempio): quanti articoli costano meno di 100 Euro? Quanti tra 100 e 200? e così via.

La soluzione migliore sarebbe di inserire la fascia già nel record da classificare, magari con un trigger. Questa però è una soluzione ’statica’, che prevede una classificazione rigida decisa a priori.

Potrebbe invece essere necessario creare una classificazione arbitraria, momentanea e non decisa a priori.

Per ottenere questi tipo di prospetto, si può usare una combinazione di GROUP BY e CASE, come nell’esempio che segue:

Leggi il seguito »

     		     

SQL: INSERT o UPDATE in automatico

21 marzo 2010 - Fonte: http://www.dicesare.com

Come far decidere direttamente allo script SQL se fare una INSERT o una UPDATE.

Quante volte vi sarà capitato di dover aggiornare una tabella con dei dati provenienti da una fonte esterna? Nella maggioranza dei casi, i dati da importare possono sia essere nuovi rispetto alla vostra tabella che essere degli aggiornamenti.
Scorrere con un cursore la tabella da importare e vedere record per record se è una novità o un aggiornamento è una scelta poco efficiente. Quale può essere allora una soluzione più performante?

Sfruttare la JOIN

La domanda necessaria da farsi è questa: in base a quale chiave riesco a capire se un record è una novità o un aggiornamento?

Una volta trovata la risposta, il meccanismo è semplice:

SQL: convertire un valore float in un varchar

19 marzo 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come convertire in sicurezza una colonna float in una colonna varchar.

Mi è recentemente capitato di dover trasformare dei valori contenuti originariamente in una colonna float in un’altra colonna di tipo varchar. Il caso pratico si verifica facilmente, ad esempio con i numeri di telefono, partita iva, ecc.

La prima cosa che viene in mente è di effettuare una conversione diretta.

ALTER TABLE nome_tabella ALTER COLUMN VARCHAR(11)

Sembra tutto corretto, ma il risultato è inaccettabile; infatti la colonna trasformata conterrà i dati con notazione scientifica. Ad esempio il numero 897654539 diventa 8e+024454.

Questo perché il formato float contiene il numero...

Leggi il seguito »

SQL: uso di una lista di valori in una SELECT…WHERE

12 febbraio 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come effettuare una query SELECT…WHERE usando una lista di valori.

E’ abbastanza comune dover effettuare delle query SQL usando una lista di valori anziché un valore singolo.

L’operatore OR

Questa operazione viene effettuata normalmente usando l’operatore OR.

Se ad esempio vogliamo selezionare i clienti che si trovano nelle provincie di Milano e Como, basterà scrivere una query così:

SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Provincia='MI' OR Provincia='CO'

L’operazione però diventa lunga e tediosa se la lista contiene molti valori: pensate infatti a cosa diventerebbe...

Leggi il seguito »

SQL: come riparare il database di sistema ‘msdb’ danneggiato

18 gennaio 2010 - Fonte: http://www.dicesare.com

Il database di sistema ‘msdb’ di SQL Server 2005 può danneggiarsi: ecco come ripararlo.

Tra i database di sistema di Microsoft SQL Server 2005, ve ne è uno denominato ‘msdb’ che viene usato normalmente come supporto per le pianificazioni ed altre operazioni di manutenzione o di backup.
Può accadere che si danneggi, e che di conseguenza molte operazioni diventino impossibili.
Dato che non si tratta di un normale database, non può essere oggetto di normali operazioni quali attach e detach, ma bisogna seguire una procedura diversa.

...

Leggi il seguito »

Il Blog Vedova.it è ora iscritto a Technorati!

12 giugno 2009 - Fonte: http://www.vedova.it

Technorati è un motore di ricerca dedicato al mondo dei Blog. Dal dicembre 2005 Technorati indicizza più di 20 milioni di Blog. Technorati è stato fondato da Dave Sifry e la sede è presso San Francisco, California, USA.

Il termine Technorati è una crasi, cioè un termine nato dall’unione di due parole: Technological literati (traducibile in italiano come intellettuali tecnologici).

Qui il profilo di Emanuele Vedova: Technorati Profile.

Cumulative Update #8 available for SQL Server 2005 SP3

1 gennaio 1970 - Fonte: http://community.ugiss.org/blogs/superzani3/default.aspx

Rilasciato il Cumulative Update 8 per SQL Server 2005 SP3 :

http://support.microsoft.com/kb/978915

Dopo l'installazione della Cumulative Update, la versione di SQL Server 2005 sarà

la 9.00.4285.

Non è prevista alcuna release della relativa Cumulative Update per SQL Server 2005 SP2,

in quanto la versione SP2 il supporto
...

Leggi il seguito »