LIVELLO Please help conversione query di Oracle Server equivalente SQL:SQL Server equivalente a Oracle CONNECT BY e pseudocolonna
SELECT (LEVEL+1-1) AS lvl
FROM dual
CONNECT BY LEVEL <= 10
/
L'uscita è i numeri da 1 a 10:
LVL
----
1
2
3
...
10
So che c'è metodi di gerarchia in SQL Server e built-in come GetLevel
e altro ancora. Può essere usato per ottenere gli stessi risultati?
Per creare doppio tavolo, se necessario (non sono sicuro) - copiato da qui: http://blog.sqlauthority.com/2010/07/20/sql-server-select-from-dual-dual-equivalent/
CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
GO
INSERT INTO DUAL (DUMMY)
VALUES ('X')
GO
specificamente alla ricerca di esempi che avrebbe lasciato l'uso smth. come LIVELLO nelle domande. Ad esempio: c'è una sola data di inizio nella tabella - 22/04/2013. Ma con LEVEL sono in grado di incrementarlo come segue:
SELECT start_date, start_date+LEVEL-1 AS start_date_btwn
FROM my_tab
WHERE id = 1
CONNECT BY LEVEL<=10
/
START_DATE START_DATE_BTWN
------------------------------
4/22/2013 4/22/2013
4/22/2013 4/23/2013
4/22/2013 4/24/2013
4/22/2013 4/25/2013
......
4/22/2013 4/30/2013
Grazie mille a tutti in anticipo.
C'è un numero massimo di numeri che avete bisogno? – sgeddes
@sgeddes - no, in Oracle potrebbe esserci un numero qualsiasi invece di 10 come nel mio esempio. Ho limitato il mio esempio a 10 per semplicità. Grazie. – Art
@ Martin - Grazie. Questo ha aiutato. – Art