2012-07-31 29 views
5

Trovo l'istruzione select con parentesi quadre al suo interno. Qualcuno può spiegare cosa significa questa parentesi?Cosa significa parentesi quadre nella query Oracle SQL?

ad es.

select a,b,[c] from table1; 

Grazie.

+0

Almeno pubblica la dichiarazione in modo che possiamo vedere anche per favore !! –

+0

Aggiungi aggiornamento al post –

+3

Questa non è un'istruzione valida in Oracle. Scaglierebbe ORA-00936: espressione mancante. – APC

risposta

1

Secondo la documentazione di Oracle: http://docs.oracle.com/cd/B10500_01/text.920/a96518/cqspcl.htm

La staffa caratteri servono a termini e gli operatori si trovano tra i personaggi del gruppo; tuttavia, impediscono penetrazioni per gli operatori di espansione (fuzzy, soundex, stem).

È un carattere di raggruppamento nella query.

+0

Penso che possa essere giusta risposta alla mia domanda, grazie sqrfv –

+2

Dubito fortemente che questa sia una risposta corretta. La sintassi della query di Oracle Text viene utilizzata solo in 'CONTAINS (column, query)> 0' o clausole simili. – DKroot

-2

parentesi quadre select vengono utilizzati quando il nome della tabella contiene uno spazio, ad esempio

select * from [Department Managers] 

Un'altra volta, quando [] sono necessari è quando un nome di colonna o una tabella è il nome di un costruito in SQL Server funzione o parola chiave, per esempio, se una colonna viene chiamato da, questo deve essere accessibile come

Select [From],[To] from tbl 

Buona fortuna

+2

La domanda è contrassegnata con Oracle. non SQL Server –

+2

Non in Oracle; le parole riservate ecc. sono racchiuse tra virgolette. –

+0

Infine, la risposta che stavo cercando. "virgolette". Grazie Alex. – Ryan

1

questo non è un Oracle SQL valida né PL/SQL.

0

Le parentesi quadre in Oracle SQL vengono utilizzate solo per il riferimento alle celle nello MODEL clause. Per esempio:

select * 
from dual 
model 
    dimension by (0 the_dimension) 
    measures (0 the_measure) 
    rules iterate(5) 
    (
     the_measure[iteration_number] = iteration_number 
    ); 

THE_DIMENSION THE_MEASURE 
------------- ----------- 
0    0 
1    1 
2    2 
3    3 
4    4 

Altri database possono utilizzare le parentesi quadre il modo in cui Oracle utilizza virgolette - per consentire identificatori per usare parole riservate o altri nomi strani. Ma una query come questa non è valida in Oracle:

select a,b,[c] from table1; 

Ci sono molti casi in cui le parentesi quadre in una stringa possono avere un significato speciale per alcune caratteristiche di Oracle. Ma i caratteri all'interno di una stringa normalmente non contano come parte della sintassi di una lingua o la grammatica non finirà mai. JSON, Testo, espressioni regolari e XML sono alcune funzionalità Oracle diffuse che usano parentesi quadre nelle stringhe, ma chiunque può creare la propria sotto-lingua personalizzata.

Problemi correlati