Query SQL

Query SQL

Utilizzare lo standard ANSI SQL-92 per la query su database ODBC e database interni.

Istruzioni

FactoryTalk Optix Studio
supporta queste istruzioni in query SQL:
  • SELECT
  • DELETE
    SUGGERIMENTO: Eseguire una query
    DELETE
    per eliminare un record. È possibile eseguire tutte le altre operazioni utilizzando i metodi OPC UA esposti dagli stessi oggetti. Per ulteriori informazioni sulle istruzioni e sulle clausole SQL, vedere lo standard SQL.
  • UPDATE
FactoryTalk Optix Studio
supporta parzialmente queste istruzioni in query SQL:
  • CREATE
  • DROP

Valori letterali

Valori letterali supportati
Tipo di valore letterale
Esempio
Note
Integrale
1520
Non utilizzare separatori delle migliaia.
Utilizzare il tipo Int32.
Reale
15.025
Utilizzare
.
come separatore decimale.
Utilizzare il tipo Doppio.
Reale scientifica
2.7000001072883606E-1
Boolean
  • true
  • false
Usare caratteri minuscoli per valori booleani.
Stringa
'string value'
Utilizzare le virgolette singole per delimitare il testo.
Inserire una virgoletta singola (
'
) in una stringa di testo utilizzando un carattere di escape a virgoletta singola per una virgoletta singola. Ad esempio, per scrivere
'string'
, usare due virgolette singole
''string''
nelle stringhe.
Data e ora
"2004-05-23T14:25:10.487"
Utilizzare il formato ISO8601 delimitato da virgolette doppie.
La notazione per data e ora è ANSI SQL non standard, utilizzata per evitare le parole chiave
DATE
,
TIME
e
TIMESTAMP
senza ambiguità.
Identificatore regolare
  • Column1
  • Grüße
Non usare spazi.
Iniziare con una lettera maiuscola o minuscola.
È possibile utilizzare cifre, lettere e il carattere di sottolineatura
_
.
Identificatore delimitato
  • "Water level"
  • "SELECT"
Utilizzare virgolette doppie (
"
) come delimitatore.
Nell'identificatore, utilizzare qualsiasi carattere, ad eccezione del carattere
"
.
Eventuali spazi in coda dell'identificatore vengono ignorati.

Alias

È possibile usare alias negli identificatori, nelle sottoquery delle colonne derivate e nelle tabelle.
Di seguito sono riportati alcuni esempi di query con alias:
SELECT Timestamp AS T FROM Table1 WHERE ...
SELECT * FROM Table1 AS T WHERE ...
SELECT * FROM (SELECT * FROM Table1) AS SubQuery WHERE ...
CREATE TABLE Table1 AS SELECT Timestamp, Column1 FROM Table2

Operatori

Operatori supportati
Operatore
Esempio
IN
SELECT * FROM Table1 WHERE Column1 IN (10, 20, 30)
BETWEEN
SELECT * FROM Table1 WHERE Column1 BETWEEN 100 AND 200
LIKE
... WHERE column1 LIKE '%a'
... WHERE column1 LIKE '%a%'
... WHERE column1 LIKE '%bbpi!%ppo%' ESCAPE '!'
EXISTS
... WHERE EXISTS (SELECT Table1.Column1 FROM Table2)
IS
... WHERE column1 IS NULL
NOT
... WHERE column1 IS NOT NULL
... WHERE column1 NOT IS (10, 20)
... WHERE column1 NOT BETWEEN 100 AND 200
L'operatore
NOT
si applica a tutti gli altri operatori.

Funzioni della finestra

Funzioni della finestra supportate
Funzione
Esempio
ROW_NUMBER
ROW_NUMBER() OVER (ORDER BY Column2)
ROW_NUMBER() OVER (PARTITION ON Column1 ORDER BY Column2)
ROW_NUMBER() OVER (window_name PARTITION ON Column1 ORDER BY Column2)
RANK
RANK() OVER (PARTITION ON Column1 ORDER BY Column2)
DENSE_RANK
DENSE_RANK() OVER (PARTITION ON Column1 ORDER BY Column2)
AVG
AVG(Column1) OVER (PARTITION BY Column2)
SUM
,
MIN
,
MAX
SUM(Column1) OVER (PARTITION BY Column2)
COUNT
COUNT(Column1) OVER (PARTITION BY Column2)
COUNT(*) OVER (PARTITION BY Column2)
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.
Normal