Share via


Data Type Mappings in Native XML Web Services

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

The following table shows the mapping of SQL types to XSD types.

SQL type

XSD type

Type restrictions

BigInt

xsd:long

 

Binary

xsd:base64Binary

 

Bit

xsd:boolean

 

Char

xsd:string

 

DateTime

xsd:dateTime

<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[0,1,2]))-((0[1-9])|([1,2][0-9])|(3[0,1]))T(([0,1][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]{2}[0,3,7])?" />

<xsd:maxInclusive value="9999-12-31T23:59:59.997"/>

<xsd:minInclusive value="1753-01-01T00:00:00.000"/>

Decimal

xsd:decimal

 

Float(53)

xsd:double

 

GUID (same as UniqueIndentifier)

xsd:string

<xsd:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})" />

Image

xsd:base64Binary

 

Int

xsd:int

 

Money

xsd:decimal

<xsd:totalDigits value="19"/>

<xsd:fractionDigits value="4"/>

<xsd:maxInclusive value="922337203685477.5807"/>

<xsd:minInclusive value="-922337203685477.5808"/>

NChar

xsd:string

 

NText

xsd:string

 

Numeric

xsd:decimal

 

NVarChar

xsd:string

 

Real

xsd:float

 

SmallInt

xsd:short

 

SmallDateTime

xsd:dateTime

<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[0,1,2]))-((0[1-9])|([1,2][0-9])|(3[0,1]))T(([0,1][0-9])|(2[0-3]))(:[0-5][0-9])(:00)" />

<xsd:maxInclusive value="2079-06-06T23:59:00"/><xsd:minInclusive value="1900-01-01T00:00:00"/>

SmallMoney

xsd:decimal

<xsd:totalDigits value="10"/>

<xsd:fractionDigits value="4"/>

<xsd:maxInclusive value="214748.3647"/><xsd:minInclusive value="-214748.3648"/>

Sql_Variant

xsd:anyType

 

Text

xsd:string

 

TimeStamp

xsd:base64Binary (in SQL Server 2005 or later compatibility mode); xsd:long (in SQL Server 2000 compatibility mode)

<xsd:maxLength>8</xsd:maxLength>

TinyInt

xsd:unsignedByte

 

UDT (CLR style)

xsd:base64Binary (in SQL Server 2005)

Additional information about the actual type is provided within facets.

UDT (old style)

Mapped to original base type

 

VarBinary

xsd:base64Binary

 

VarChar

xsd:string

 

XML

xsd:any

 

XML (typed)

xsd:any

XML schema that the XML is typed to is returned.

Data Type Issues Specific to Parameter Facets in a SOAP Request

When you send ad hoc query requests, you can specify parameters. In specifying parameters, you can also optionally add parameter facets. These facets can be specified on the <SqlParameter> element node or <Value> element node when you send an ad hoc query request. For information about parameter facets, see SOAP Request Message Structure.

The following table shows how xsi:type maps to SQL types. Note that xsi:type is one of the facets that you can add to the <Value> element node in constructing the SOAP request.

Note

Data types added beginning in SQL Server 2008 are not supported.

xsi:type

Sql Type

sqltypes:bigint

BigInt

sqltypes:binary

Binary

sqltypes:bit

Bit

sqltypes:char

Char

sqltypes:datetime

DateTime

sqltypes:decimal

Decimal

sqltypes:float

Float

sqltypes:image

Image

sqltypes:int

Int

sqltypes:money

Money

sqltypes:nchar

NChar

sqltypes:ntext

NText

sqltypes:numeric

Numeric

sqltypes:nvarchar

NVarChar

sqltypes:real

Real

sqltypes:smalldatetime

SmallDateTime

sqltypes:smallint

SmallInt

sqltypes:smallmoney

SmallMoney

sqltypes:text

Text

sqltypes:timestamp

Timestamp

sqltypes:tinyint

TinyInt

sqltypes:uniqueidentifier

UniqueIdentifier

sqltypes:varbinary

VarBinary

sqltypes:varchar

VarChar

sqltypes:xml

Xml

xsd:anyType

Xml

xsd:boolean

Bit

xsd:datetime

DateTime

xsd:decimal

Decimal

xsd:double

Float

xsd:float

Real

xsd:int

Int

xsd:long

BigInt

xsd:short

SmallInt

xsd:string

NVarchar

xsd:unsignedByte

TinyInt

xsd:base64Binary

varbinary

The following table lists the possible values for the SqlDbType facet that you can add to the <SqlParameter> element node when you construct an ad hoc query request.

BigInt

SmallDateTime

Binary

SmallInt

Bit

SmallMoney

Char

Text

DateTime

Timestamp

Decimal

TinyInt

Float

Udt

Image

UniqueIdentifier

Int

VarBinary

Money

VarChar

NChar

Variant

NText

Xml

NVarChar

Real

See Also

Other Resources