Sinonimi dei tipi di dati (Transact-SQL)
I sinonimi dei tipi di dati sono disponibili in SQL Server per compatibilità con ISO. Nella tabella seguente vengono elencati i sinonimi e i tipi di dati di sistema di SQL Server a cui viene eseguito il mapping.
Sinonimo |
Tipo di dati di sistema di SQL Server |
---|---|
Binary varying |
varbinary |
char varying |
varchar |
character |
char |
character |
char(1) |
character(n) |
char(n) |
character varying(n) |
varchar(n) |
Dec |
decimal |
Double precision |
float |
float[(n)] for n = 1-7 |
real |
float[(n)] for n = 8-15 |
float |
integer |
int |
national character(n) |
nchar(n) |
national char(n) |
nchar(n) |
national character varying(n) |
nvarchar(n) |
national char varying(n) |
nvarchar(n) |
national text |
ntext |
timestamp |
rowversion |
I sinonimi dei tipi di dati possono essere utilizzati in alternativa al nome del tipo di dati di base corrispondente in istruzioni DDL (Data Definition Language), quali CREATE TABLE, CREATE PROCEDURE e DECLARE @variable. I sinonimi non sono tuttavia visibili dopo la creazione dell'oggetto. In fase di creazione infatti all'oggetto viene assegnato il tipo di dati di base associato al sinonimo e la presenza del sinonimo nell'istruzione con cui è stato creato l'oggetto non viene registrata.
Agli oggetti che derivano dall'oggetto originale, ad esempio colonne del set di risultati o espressioni, viene assegnato il tipo di dati di base. Le successive funzioni per i metadati eseguite sull'oggetto originale e sugli oggetti derivati visualizzano il tipo di dati di base, non il sinonimo. Tale funzionamento si verifica con le operazioni sui metadati, ad esempio sp_help e altre stored procedure di sistema, le viste degli schemi delle informazioni o le varie operazioni sui metadati API per l'accesso ai dati che visualizzano i tipi di dati della tabella o le colonne del set di risultati.
È possibile, ad esempio, creare una tabella specificando national character varying:
CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, VarCharCol national character varying(10))
Alla colonna VarCharCol viene in effetti assegnato il tipo di dati nvarchar(10). Le successive funzioni per i metadati visualizzeranno la colonna come colonna di tipo nvarchar(10). Tramite le funzioni per i metadati, le colonne non verranno mai visualizzate come colonne di tipo national character varying(10).