Archivi mensili: giugno 2012


Come lavorare con le date in sql

Molte volte ci si ritrova a fare i “conti” con le date e quindi con questo prontuario spero di fare chiarimenti su come si possono ottenere delle date di rifermento indietro eo avanti rispetto a oggi o a una determinata data.

Partiamo da alcune date riferite alla giornata odierna:

–Oggi
SELECT GETDATE()
–Ieri
SELECT DATEADD(d,-1,GETDATE())
–Domani
SELECT DATEADD(d,+1,GETDATE())

Ora vediamo dei giorni riferiti alla settimana corrente:

–Primo giorno della Settimana corrente
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
–Ultimo giorno della Settimana corrente
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),6)
–Primo giorno della Settimana precedente
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0)
–Ultimo giorno della Settimana precedente
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6)

Riferiamoci ora al mese corrente:

–Primo giorno del Mese corrente
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
–Ultimo giorno del Mese corrente
SELECT DATEADD(ms,-
3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0)))
–Primo giorno del Mese precedente
SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
–Ultimo giorno del Mese precedente
SELECT DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))

Ed infine all’anno corrente:

–Primo giorno del anno corrente
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)
–Ultimo giorno del anno corrente
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0)))
–Primo giorno del anno precedente
SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
–Ultimo giorno del anno precedente
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)))

Ovviamente combinando  queste formule all’interno delle vostre query potete ottenere buoni risultati, ad esempio nel mio caso dovevo estrarre tutti i movimenti gestionali da oggi a 6 mesi indietro ma partendo sempre dal primo del mese, quindi se oggi è il 15/06/12 dovevo prendere tutti i movimenti dal 01/01/2012.


Branford Marsalis – Random Abstract

Branford Marsalis

Label: Columbia – CK 44055
Format: CD, Album
Country:US
Released: 28 Jun 1988
Genre: Jazz

MUSICIANS:
Bass – Delbert Felix
Drums – Lewis Nash
Piano – Kenny Kirkland
Saxophone – Branford Marsalis

TRACKS:
1 Yes And No (Written-By – Wayne Shorter) 6:46
2 Crescent City (Written-By – Branford Marsalis) 11:05
3 Broadway Fools (Written-By – Branford Marsalis) 9:56
4 Lonjellis (Written-By – Kenny Kirkland) 8:13
5 I Thought About You (Written-By – Jimmy Van Heusen, Johnny Mercer) 5:42
6 Lonely Woman (Written-By – Ornette Coleman) 16:25
7 Steep’s Theme (Written-By – Branford Marsalis) 0:34
8 Yesterday’s (Written-By – Jerome Kern, Otto Harbach) 11:03
9 Crepuscule With Nellie (Written-By – Thelonious Monk) 4:20


Trovare record duplicati in una tabella

Per trovare un record duplicato all’interno di una tabella non è una impresa semplice ma per fortuna ho trovato in rete questo comando sql che fa perfettamente il suo lavoro. L’esempio è per il confronto di un campo ma con una semplice concatenazione si può utilizzare per confrontare un insieme di campi che risultano doppi. Nel mio caso l’ho utilizzato per confrontare 4 campi se risultassero doppi facendo un concatenamento.

SELECT tab.campo_da_esaminare FROM tabella AS tab INNER JOIN (SELECT campo_da_esaminare FROM tabella GROUP BY campo_da_esaminare HAVING COUNT(campo_da_esaminare)>1) AS dup ON dup.campo_da_esaminare = tab.campo_da_esaminare;


Branford Marsalis – Umbria Jazz 1987 Vol.1

RANFORD MARSALIS MIDNIGHT CONCERT SO JOEY CALDERAZZO & ADAM NUSSBAUM PLAY AS GUEST.
THIS IS THAT WONDERFUL SWINGIN’ NIGHT

MUSICIANS:
BRANFORD MARSALIS t.s.&s.s.
KENNY KIRKLAND p.
DELBERT FELIX bass
LEWIS NASH dr.

 

TRACKS:
1 Branford presenting the group
2 Impressions
3 Citadel
4 Crepuscule with Nellie
5 Branford presenting Joey Calderazzo
6 My Shining Hou
7 traccia 7
8 traccia 8
9 Night and Day
10 Traccia 10