Condividi tramite


Metadati - Set di righe di data e ora e schema in SQL Server Native Client

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

In questo argomento vengono fornite informazioni sui set di righe COLUMNS e PROCEDURE_PARAMETERS. Queste informazioni sono correlate ai miglioramenti di data e ora di OLE DB introdotti in SQL Server 2008 (10.0.x).

Set di righe COLUMNS

Per i tipi di data/ora vengono restituiti i valori di colonna seguenti:

Tipo colonna DATA_TYPE COLUMN_FLAGS, DBCOLUMFLAGS_SS_ISVARIABLESCALE DATETIME_PRECISION
data DBTYPE_DBDATE Clear 0
Ora DBTYPE_DBTIME2 Set 0..7
smalldatetime DBTYPE_DBTIMESTAMP Clear 0
datetime DBTYPE_DBTIMESTAMP Clear 3
datetime2 DBTYPE_DBTIMESTAMP Set 0..7
datetimeoffset DBTYPE_DBTIMESTAMPOFFSET Set 0..7

In COLUMN_FLAGS il valore di DBCOLUMNFLAGS_ISFIXEDLENGTH è sempre true per i tipi date/time e il valore dei flag seguenti è sempre false:

  • DBCOLUMNFLAGS_CACHEDEFERRED

  • DBCOLUMNFLAGS_ISBOOKMARK

  • DBCOLUMNFLAGS_ISCHAPTER

  • DBCOLUMNFLAGS_ISLONG

  • DBCOLUMNFLAGS_ISROWID

  • DBCOLUMNFLAGS_ISROWVER

  • DBCOLUMNFLAGS_MAYDEFER

I flag restanti (DBCOLUMNFLAGS_ISNULLABLE, DBCOLUMNFLAGS_MAYBENULL, DBCOLUMNFLAGS_WRITE e DBCOLUMNFLAGS_WRITEUNKNOWN) possono essere impostati in base alla modalità di definizione della colonna.

In COLUMN_FLAGS è disponibile un nuovo flag DBCOLUMNFLAGS_SS_ISVARIABLESCALE che consente di determinare il tipo di server delle colonne nelle applicazioni, dove DATA_TYPE è DBTYPE_DBTIMESTAMP. Per identificare il tipo di server è necessario utilizzare anche DATETIME_PRECISION.

DBCOLUMNFLAGS_SS_ISVARIABLESCALE è valido solo quando si è connessi a un server SQL Server 2008 (10.0.x) o versione successiva. DBCOLUMNFLAGS_SS_ISFIXEDSCALE non è definito quando si è connessi a server legacy.

Set di righe PROCEDURE_PARAMETERS

DATA_TYPE contiene gli stessi valori del set di righe dello schema COLUMNS e TYPE_NAME contiene il tipo di server.

Una nuova colonna, SS_DATETIME_PRECISION, è stata aggiunta per restituire la precisione del tipo come nella colonna DATETIME_PRECISION, in modo analogo al set di righe COLUMNS.

Set di righe PROVIDER_TYPES

Per i tipi di data/ora vengono restituite le righe seguenti:

Tipo ->

Colonna
data Ora smalldatetime datetime datetime2 datetimeoffset
TYPE_NAME data Ora smalldatetime datetime datetime2 datetimeoffset
DATA_TYPE DBTYPE_DBDATE DBTYPE_DBTIME2 DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMPOFFSET
COLUMN_SIZE 10 16 16 23 27 34
LITERAL_PREFIX ' ' ' ' ' '
LITERAL_SUFFIX ' ' ' ' ' '
CREATE_PARAMS NULL scala NULL NULL scala scala
IS_NULLABLE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE
CASE_SENSITIVE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
RICERCABILE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE
UNSIGNED_ATTRIBUTE NULL NULL NULL NULL NULL NULL
FIXED_PREC_SCALE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
AUTO_UNIQUE_VALUE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
LOCAL_TYPE_NAME data Ora smalldatetime datetime datetime2 datetimeoffset
MINIMUM_SCALE NULL 0 NULL NULL 0 0
MAXIMUM_SCALE NULL 7 NULL NULL 7 7
GUID NULL NULL NULL NULL NULL NULL
TYPELIB NULL NULL NULL NULL NULL NULL
VERSION NULL NULL NULL NULL NULL NULL
IS_LONG VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
BEST_MATCH VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE a meno che non si verifichi una delle condizioni seguenti:

Il client è connesso a un server legacy.

La proprietà della connessione della compatibilità dei tipi di dati specifica un livello di compatibilità pari a 80.
VARIANT_TRUE a meno che non si verifichi una delle condizioni seguenti:

Il client è connesso a un server legacy.

La proprietà della connessione della compatibilità dei tipi di dati specifica un livello di compatibilità pari a 80.
VARIANT_TRUE
IS_FIXEDLENGTH VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE

OLE DB definisce solo MINIMUM_SCALE e MAXIMUM_SCALE per i tipi numerici e decimali, pertanto sql Server Native Client usa queste colonne per ora, datetime2 e datetimeoffset non standard.

Vedi anche

metadati [OLE DB]