venerdì 29 luglio 2011

PostgreSQL - Funzione aggregazione concatenazione sulle stringhe

Tabella PROVA

A   B
------
1   a
1   b
2   c
2   d


SELECT A,array_to_string( array_agg( B order by B ), ' - ' )  as CONCATENAZIONE
FROM PROVA
group by A

oppure

SELECT A, string_agg(distinct B,', ' order by B)
FROM PROVA
GROUP BY A


RISULTATO:



A  CONCATENAZIONE
---------------------------
1              a - b

2              c - d

mercoledì 20 luglio 2011

PostgreSQL - Lavorare con le date

 Esempi di query con date

WHERE "BOOKING_DATE" >= '20040101'::date;
WHERE "BOOKING_DATE" >= '2004-01-01'::date;
WHERE "BOOKING_DATE" >= DATE '20040101';
WHERE "BOOKING_DATE" >= DATE '2004-01-01';

martedì 19 luglio 2011

SqlServer - Lavorare con le date

Convert (datatype, datetime string, date style)

  • mon dd yyyy hh:miAM (or PM) 
    Select convert(varchar, getdate(), 100)
  • mon dd yyyy hh:mi:ss:mmmAM (or PM)
    Select convert(varchar, getdate(), 109) 
  • yyyymmdd
    Select convert(varchar, getdate(), 112)
  • dd mon yyyy hh:mm:ss:mmm(24h)
    Select convert(varchar, getdate(), 113)
  • hh:mm:ss:mmm(24h) 
    Select convert(varchar, getdate(), 114)
  • yyyy-mm-dd hh:mi:ss(24h)
    Select convert(varchar, getdate(), 120)
  • yyyy-mm-dd hh:mi:ss.mmm(24h)
    Select convert(varchar, getdate(), 121)
  • yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
    Select convert(varchar, getdate(), 126)


    No century (yy)
    Con century (yyyy)
    Formato
    -
    0 or 100
    mon dd yyyy hh:miAM (or PM)
    1
    101
    mm/dd/yyyy
    2
    102
    yy.mm.dd
    3
    103
    dd/mm/yyyy
    4
    104
    dd.mm.yy
    5
    105
    dd-mm-yy
    6
    106
    dd mon yy
    7
    107
    Mon dd, yy
    8
    108
    hh:mi:ss
    -
    9 or 109 
    mon dd yyyy hh:mi:ss:mmmAM (or PM)
    10
    110
    mm-dd-yy
    11
    111
    yy/mm/dd
    12
    112
    yymmdd yyyymmdd
    -
    13 or 113
    dd mon yyyy hh:mi:ss:mmm(24h)
    14
    114
    hh:mi:ss:mmm(24h)
    -
    20 or 120
    yyyy-mm-dd hh:mi:ss(24h)
    -
    21 or 121
    yyyy-mm-dd hh:mi:ss.mmm(24h)
    -
    126
    yyyy-mm-ddThh:mi:ss.mmm (no spaces)
    -
    127
    yyyy-mm-ddThh:mi:ss.mmmZ (no spaces)
    -
    130
    dd mon yyyy hh:mi:ss:mmmAM
    -
    131
    dd/mm/yy hh:mi:ss:mmmAM

sabato 16 luglio 2011

Elenco delle query in esecuzione (PostgreSQL e MySql)

Ecco come vedere l'elenco delle query in esecuzione:

PostgreSQL
select * from pg_stat_activity
MySql
show full processlist

Cancellare una query in esecuzione:

PostgreSQL
select pg_cancel_backend(8560)