Differenze tra MS-TDS/T-SQL tra kusto Microsoft SQL ServerMS-TDS/T-SQL Differences between Kusto Microsoft SQL Server

Di seguito è riportato un elenco parziale delle principali differenze tra kusto e l'implementazione di SQL Server di T-SQL.Below is partial list of the main differences between Kusto and SQL Server's implementation of T-SQL.

CREARE, inserire, eliminare, modificare istruzioniCREATE, INSERT, DROP, ALTER statements

Kusto non supporta le modifiche dello schema o le modifiche ai dati tramite MS-TDS né supporta le istruzioni T-SQL precedenti.Kusto doesn't support schema modifications or data modifications through MS-TDS, nor does it support the above T-SQL statements.

Sottoquery correlateCorrelated sub-queries

Kusto non supporta le sottoquery correlate nelle SELECT WHERE JOIN clausole, e.Kusto doesn't support correlated sub-queries in SELECT, WHERE, and JOIN clauses.

Versioni principaliTOP flavors

Kusto ignora WITH TIES e valuta la query come regolare TOP .Kusto ignores WITH TIES and evaluates query as regular TOP. Kusto non supporta PERCENT .Kusto doesn't support PERCENT.

CursoriCursors

Kusto non supporta i cursori SQL.Kusto doesn't support SQL cursors.

Controllo di flussoFlow control

Kusto non supporta le istruzioni di controllo di flusso, ad eccezione di alcuni casi limitati, ad esempio la IF THEN ELSE clausola con lo stesso schema per i THEN ELSE batch e.Kusto doesn't support flow control statements, except for a few limited cases, such as IF THEN ELSE clause that has the identical schema for the THEN and ELSE batches.

Tipi di datiData types

A seconda della query, i dati restituiti possono avere un tipo diverso rispetto a SQL Server.Depending on the query, the data returned may have a different type than in SQL Server. Un esempio ovvio è che sono disponibili tipi come TINYINT e SMALLINT che non hanno equivalente in kusto.An obvious example here are types such as TINYINT and SMALLINT that have no equivalent in Kusto. Di conseguenza, i client che prevedono un valore di tipo BYTE o INT16 potrebbero ottenere INT32 invece un INT64 valore o.Therefore, clients that expect a value of type BYTE or INT16 might get an INT32 or an INT64 value instead.

Ordine delle colonne nei risultatiColumn order in results

Quando si utilizza Asterix nell' SELECT istruzione, l'ordine delle colonne in ogni set di risultati può essere diverso tra kusto e SQL Server.When asterix is used in the SELECT statement, the order of columns in each result set may differ between Kusto and SQL Server. In questi casi, il client che usa i nomi di colonna funzionerà meglio.Client that use column names would work better in these cases. Se non è presente alcun carattere Asterix nell' SELECT istruzione, i numeri ordinali di colonna verranno conservati.If there is no asterix character in the SELECT statement, the column ordinals would be preserved.

Nome colonne nei risultatiColumns name in results

In T-SQL, più colonne possono avere lo stesso nome.In T-SQL, multiple columns may have the same name. Questa operazione non è consentita in kusto.This is not allowed in Kusto. In caso di conflitto nei nomi, i nomi delle colonne potrebbero essere diversi in kusto.In case of a collision in names, the names of the columns might be different in Kusto. Tuttavia, il nome originale verrebbe mantenuto, almeno per una delle colonne.However, the original name would be preserved, at least for one of the columns.

Predicati ANY, ALL e EXISTsANY, ALL, and EXISTS predicates

Kusto non supporta i predicati ANY , ALL e EXISTS .Kusto doesn't support the predicates ANY, ALL, and EXISTS.

CTE ricorsiveRecursive CTEs

Kusto non supporta espressioni di tabella comuni ricorsive.Kusto doesn't support recursive common table expressions.

SQL dinamicaDynamic SQL

Kusto non supporta le istruzioni SQL dinamiche (esecuzione inline dello script SQL generato dalla query).Kusto doesn't support dynamic SQL statements (inline execution of SQL script generated by the query).

WITHIN GROUPWITHIN GROUP

Kusto non supporta la WITHIN GROUP clausola.Kusto doesn't support WITHIN GROUP clause.

Funzione TruncateTRUNCATE function

TRUNCATE function (ODBC) in kusto funziona in modo analogo a ROUND, il che significa che il risultato sarà il valore più vicino anziché quello più basso restituito in SQL.TRUNCATE function (ODBC) in Kusto works similarly to ROUND, which means that the result will be the nearest value instead of the lower one returned in SQL.