Tipi di dati in AdventureWorks
In questo argomento verrà fornito un elenco dei tipi CLR definiti dall'utente di Microsoft.NET Framework, dei tipi di dati di sistema di MicrosoftSQL Server, nonché dei tipi di dati alias Transact-SQL rappresentati nel database di esempio AdventureWorks.
Tipi CLR definiti dall'utente
Nella tabella seguente vengono elencati gli esempi inclusi in AdventureWorks in cui vengono utilizzati tipi CLR definiti dall'utente. Gli esempi possono essere scaricati dalla home page relativa agli esempi e ai progetti di community di Microsoft SQL Server. Per ulteriori informazioni sui tipi CLR definiti dall'utente, vedere Tipi CLR definiti dall'utente.
Esempio |
Descrizione |
---|---|
Esempi SQL Server Database Engine |
Viene definito un tipo di dati Currency definito dall'utente mediante C#. Questo tipo di dati definito dell'utente consente di incapsulare sia un valore sia la lingua e di stabilire in che modo è possibile visualizzare correttamente il valore di valuta nella lingua indicata. Nell'esempio viene inoltre fornita una funzione di conversione valuta tramite cui viene restituita un'istanza del tipo Currency definito dall'utente. |
UDT Utilities |
Sono incluse funzioni per esporre metadati di assembly in Transact-SQL, ovvero esempi di funzioni valutate a livello di tabella di flusso per restituire i tipi inclusi in un assembly in forma di tabella e funzioni per restituire campi, metodi e proprietà in un tipo definito dall'utente. |
Esempio User-Defined Data Type (UDT) |
Vengono mostrati la creazione e l'utilizzo di un semplice tipo di dati definito dall'utente da Transact-SQL e da un'applicazione client in cui viene utilizzato System.Data.SqlClient. |
UTF8 String User-Defined Data Type (UDT) |
Viene illustrata l'implementazione di un tipo di dati UTF-8 definito dall'utente che consente di estendere il sistema dei tipi del database per assicurare l'archiviazione di valori con codifica UTF-8. Questo tipo consente inoltre di implementare il codice per convertire stringhe Unicode in UTF-8 e viceversa. |
Calendar-Aware Date/Time UDT |
Vengono illustrati due tipi di dati definiti dall'utente, ovvero CADatetime e CADate, che consentono la gestione di date e orari in base al calendario. |
Esempio Array Parameter |
Viene passata una matrice di informazioni da un client a una stored procedure CLR nel server mediante un tipo di dati CLR definito dall'utente. |
Tipi di dati di sistema
Nella tabella seguente vengono elencati i tipi di dati di sistema di SQL Server e le tabelle e colonne che li utilizzano. Per ulteriori informazioni sui tipi di dati di sistema, vedere Tipi di dati (Transact-SQL).
Tipo di dati |
Utilizzato in schema.tabella.colonna |
---|---|
bigint |
Non utilizzato. |
bit |
Vedere Flag e NameStyle nella sezione successiva relativa ai tipi di dati degli alias. |
char oppure nchar |
HumanResources.Employee.Gender HumanResources.Employee.MaritalStatus Person.StateProvince.StateProvinceCode Production.BillOfMaterials.UnitMeasureCode Production.Culture.CultureID Production.Document.Revision Production.Product.Class Production.Product.ProductLine Production.Product.SizeUnitMeasureCode Production.Product.Style Production.Product.WeightUnitMeasureCode Production.ProductModelProductDescriptionCulture.CultureID Production.TransactionHistory.TransactionType Production.TransactionHistoryArchive.TransactionType Production.UnitMeasure.UnitMeasureCode Purchasing.ProductVendor.UnitMeasureCode Sales.CountryRegionCurrency.CurrencyCode Sales.CurrencyRate.FromCurrencyCode Sales.CurrencyRate.ToCurrencyCode Sales.Customer.CustomerType Sales.Currency.CurrencyCode |
datetime |
Colonna ModifiedDate in tutte le tabelle dbo.AWBuildVersion.VersionDate dbo.DatabaseLog.PostTime HumanResources.Employee.BirthDate HumanResources.Employee.HireDate HumanResources.EmployeeDepartmentHistory.EndDate HumanResources.EmployeeDepartmentHistory.StartDate HumanResources.EmployeePayHistory.RateChangeDate HumanResources.Shift.EndTime HumanResources.Shift.StartTime Production.BillOfMaterials.EndDate Production.BillOfMaterials.StartDate Production.Product.DiscontinuedDate Production.Product.SellEndDate Production.Product.SellStartDate Production.ProductCostHistory.EndDate Production.ProductCostHistory.StartDate Production.ProductListPriceHistory.EndDate Production.ProductListPriceHistory.StartDate Production.TransactionHistory.TransactionDate Production.TransactionHistoryArchive.TransactionDate Production.WorkOrder.DueDate Production.WorkOrder.EndDate Production.WorkOrder.StartDate Production.WorkOrderRouting.ActualEndDate Production.WorkOrderRouting.ActualStartDate Production.WorkOrderRouting.ScheduledEndDate Production.WorkOrderRouting.ScheduledStartDate Purchasing.ProductVendor.LastReceiptDate Purchasing.PurchaseOrderDetail.DueDate Purchasing.PurchaseOrderHeader.OrderDate Purchasing.PurchaseOrderHeader.ShipDate Sales.SalesCurrencyRate.CurrencyRateDate Sales.SalesOrderHeader.DueDate Sales.SalesOrderHeader.OrderDate Sales.SalesOrderHeader.ShipDate Sales.SalesPersonQuotaHistory.QuotaDate Sales.SalesTerritoryHistory.EndDate Sales.SalesTerritoryHistory.StartDate Sales.ShoppingCartItem.DateCreated Sales.SpecialOfferEndDate Sales.SpecialOfferStartDate |
decimal |
Production.BillOfMaterials.PerAssemblyQty Production.Location.Availability Production.Product.Weight Purchasing.PurchaseOrderDetail.ReceivedQty Purchasing.PurchaseOrderDetail.RejectedQty Purchasing.PurchaseOrderDetail.StockedQty Production.WorkOrderRouting.ActualResourcesHrs |
float |
Non utilizzato. |
image |
Non utilizzato. Vedere varbinary(max). |
int |
Tutte le tabelle |
money |
HumanResources.EmployeePayHistory.Rate Production.Product.ListPrice Production.Product.StandardCost Production.ProductCostHistory.StandardCost Production.ProductListPriceHistory.ListPrice Production.TransactionHistory.ActualCost Production.TransactionHistoryArchive.ActualCost Production.WorkOrderRouting.PlannedCost Production.WorkOrderRouting.ActualCost Purchasing.ProductVendor.LastReceiptCost Purchasing.ProductVendor.StandardPrice Purchasing.PurchaseOrderDetail.LineTotal Purchasing.PurchaseOrderDetail.UnitPrice Purchasing.PurchaseOrderHeader.Freight Purchasing.PurchaseOrderHeader.SubTotal Purchasing.PurchaseOrderHeader.TaxAmt Purchasing.PurchaseOrderHeader.TotalDue Purchasing.ShipMethod.ShipBase Purchasing.ShipMethod.ShipRate Sales.CurrencyRate.AverageRate Sales.CurrencyRate.EndOfDayRate Sales.SalesOrderDetail.UnitPrice Sales.SalesOrderDetail.UnitPriceDiscount Sales.SalesOrderHeader.Freight Sales.SalesOrderHeader.SubTotal Sales.SalesOrderHeader.TaxAmt Sales.SalesOrderHeader.TotalDue Sales.SalesPerson.Bonus Sales.SalesPerson.SalesLastYear Sales.SalesPerson.SalesYTD Sales.SalesPersonQuotaHistory.SalesQuota Sales.SalesTerritory.CostLastYear Sales.SalesTerritory.CostYTD Sales.SalesTerritory.SalesLastYear Sales.SalesTerritory.SalesYTD |
numeric |
Sales.SalesOrderDetail.LineTotal |
smallint |
HumanResources.Department.DepartmentID HumanResources.Employee.SickLeaveHours HumanResources.Employee.VacationHours HumanResources.EmployeeDepartmentHistory.DepartmentID Production.BillOfMaterials.BOMLevel Production.Location.LocationID Production.Product.SafetyStockLevel Production.Product.ReorderPoint Production.ProductInventory.Quantity Production.ProductInventory.LocationID Production.WorkOrder.ScrappedQty Production.WorkOrder.ScrapReasonID Production.WorkOrderRouting.OperationSequence Production.WorkOrderRouting.LocationID Purchasing.PurchaseOrderDetail.OrderQty Sales.CreditCard.ExpYear Sales.SalesOrderDetail.OrderQty |
smallmoney |
Production.Location.CostRate Sales.SalesPerson.CommissionPct Sales.SalesTaxRate.TaxRate Sales.SpecialOffer.DiscountPct |
sysname |
dbo.DatabaseLog.DatabaseUser dbo.DatabaseLog.Event dbo.DatabaseLog.Schema dbo.DatabaseLog.Object |
text oppure ntext |
Non utilizzato. Vedere varchar(max) o nvarchar(max). |
tinyint |
dbo.AWBuildVersion.SystemInformationID HumanResources.EmployeePayHistory.PayFrequency HumanResources.EmployeeDepartmentHistory.ShiftID HumanResources.EmployePayHistory.Rate Production.Document.Status Production.ProductInventory.Bin Purchasing.PurchaseOrderHeader.RevisionNumber Purchasing.PurchaseOrderHeader.Status Purchasing.Vendor.CreditRating Sales.CreditCard.ExpMonth Sales.SalesOrderHeader.RevisionNumber Sales.SalesOrderHeader.Status Sales.SalesTaxRate.TaxType |
uniqueidentifier (GUID) |
Vedere la colonna ROWGUID nelle tabelle incluse negli schemi seguenti:
In AdventureWorks, la colonna ROWGUID viene utilizzata negli esempi di replica. |
varbinary(max) |
Production.Document.Document Production.ProductPhoto.LargePhoto Production.ProductPhoto.ThumbnailPhoto |
varchar oppure nvarchar |
Tutte le tabelle. |
varchar(max) oppure nvarchar(max) |
Production.Document.DocumentSummary dbo.DatabaseLog.TSQL |
xml |
dbo.DatabaseLog.XmlEvent HumanResources.JobCandidate.Resume Person.Contact.AdditionalContactInfo Production.Illustration.Diagram Production.ProductModel.CatalogDescription Production.ProductModel.Instructions Sales.Individual.Demographics Sales.Store.Demographics |
Tipi di dati alias
Nella tabella seguente vengono elencati i tipi di dati alias, i tipi di dati Transact-SQL definiti dall'utente e le tabelle e colonne che li utilizzano. Per ulteriori informazioni sui tipi di dati alias, vedere Utilizzo dei tipi di dati alias.
Nome del tipo di dati |
Definito come |
Utilizzato in schema.tabella.colonna |
---|---|---|
AccountNumber |
nvarchar(15) |
Sales.SalesOrderHeader.AccountNumber Purchasing.Vendor.AccountNumber |
Flag |
bit |
HumanResources.Employee.CurrentFlag HumanResources.Employee.SalariedFlag Person.StateProvince.IsOnlyStateProvinceFlag Production.Product.FinishedGoodsFlag Production.Product.MakeFlag Production.ProductProductPhoto.Primary Purchasing.Vendor.ActiveFlag Purchasing.Vendor.PreferredVendorStatusFlag Sales.SalesOrderHeader.OnlineOrderFlag |
NameStyle |
bit |
Person.Contact.NameStyle |
Name |
nvarchar(50) |
HumanResources.Department.GroupName HumanResources.Department.Name HumanResources.Shift.Name Person.AddressType.Name Person.Contact.FirstName Person.Contact.LastName Person.Contact.MiddleName Person.ContactType.Name Person.CountryRegion.Name Person.StateProvince.Name Production.Culture.Name Production.Location.Name Production.Product.Name Production.ProductCategory.Name Production.ProductModel.Name Production.ProductReview.ReviewerName Production.ProductSubcategory.Name Production.ScrapReason.Name Production.UnitMeasure.Name Purchasing.ShipMethod.Name Purchasing.Vendor.Name Sales.Currency.Name Sales.SalesReason.Name Sales.SalesReason.ReasonType Sales.SalesTaxRate.Name Sales.SalesTerritory.Name Sales.Store.Name |
OrderNumber |
nvarchar(25) |
Sales.SalesOrderHeader.SalesOrderNumber |
Phone |
nvarchar(25) |
Person.Contact.Phone |
Vedere anche