Bagikan melalui


TYPEPROPERTY (Transact-SQL)

Returns information about a data type.

Topic link iconTransact-SQL Syntax Conventions

Syntax

TYPEPROPERTY (type ,property)

Arguments

  • type
    Is the name of the data type.

  • property
    Is the type of information to be returned for the data type. property can be one of the following values.

    Property

    Description

    Value returned

    AllowsNull

    Data type allows for null values.

    1 = True

    0 = False

    NULL = Data type not found.

    OwnerId

    Owner of the type.

    NoteNote
    The schema owner is not necessarily the type owner.

    Nonnull = The database user ID of the type owner.

    NULL = Unsupported type, or type ID is not valid.

    Precision

    Precision for the data type.

    The number of digits or characters.

    -1 = xml or large value data type

    NULL = Data type not found.

    Scale

    Scale for the data type.

    The number of decimal places for the data type.

    NULL = Data type is not numeric or not found.

    UsesAnsiTrim

    ANSI padding setting was ON when the data type was created.

    1 = True

    0 = False

    NULL = Data type not found, or it is not a binary or string data type.

Return Types

int

Exceptions

Returns NULL on error or if a caller does not have permission to view the object.

In SQL Server, a user can only view the metadata of securables that the user owns or on which the user has been granted permission. This means that metadata-emitting, built-in functions such as TYPEPROPERTY may return NULL if the user does not have any permission on the object. For more information, see Metadata Visibility Configuration and Troubleshooting Metadata Visibility.

Examples

A. Identifying the owner of a data type

The following example returns the owner of a data type.

SELECT TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId') AS owner_id, name, system_type_id, user_type_id, schema_id
FROM sys.types;

B. Returning the precision of the tinyint data type

The following example returns the precision or number of digits for the tinyint data type.

SELECT TYPEPROPERTY( 'tinyint', 'PRECISION');