• 相关软件
    >sp_datatype_info 创建者:webmaster 更新时间:2006-02-16 15:51

    返回有关当前环境所支持的数据类型的信息。



    语法


    sp_datatype_info [ [ @data_type = ] data_type ]

        [ , [ @ODBCVer = ] odbc_version ]



    参数


    [@data_type =] data_type



    指定数据类型的代码。要获取所有数据类型的列表,请省略该参数。data_type 的数据类型为 int,默认值为 0。



    [@ODBCVer =] odbc_version



    所用 ODBC 的版本。odbc_version 的数据类型为 tinyint,默认值为 2。



    返回代码值




    结果集

































































































































    列名数据类型描述
    TYPE_NAMEsysname与 DBMS 相关的数据类型。
    DATA_TYPEsmallint此类型的所有列所映射的 ODBC 类型代码。
    PRECISIONint数据源中数据类型的最大精度。数据类型的精度不适用时返回 NULL。PRECISION 列的返回值以 10 为基数。
    LITERAL_PREFIXvarchar(32)常量前使用的字符。例如,在 Microsoft® SQL Server™ 中,字符类型使用单引号 ('),二进制使用 Ox。
    LITERAL_SUFFIXvarchar(32)终止常量时使用的字符。例如,字符类型使用单引号 ('),二进制不使用任何字符。
    CREATE_PARAMSvarchar(32)此数据类型的创建参数的描述。例如,decimal 是"precision, scale",float 是 NULL,varchar 是"max_length"。
    NULLABLEsmallint指定是否可以为空。

    1 = 允许空值。

    0 = 不允许空值。


    CASE_SENSITIVEsmallint指定是否区分大小写。

    1 = 此类型的所有列都区分大小写(用于排序规则)。

    0 = 此类型的所有列都不区分大小写。


    SEARCHABLEsmallint列的类型。

    1 = 此类型的列可以用于 WHERE 子句中。

    0 = 此类型的列不能用于 WHERE 子句中。


    UNSIGNED_ATTRIBUTEsmallint指定数据类型的符号。

    1 = 数据类型没有符号。

    0 = 数据类型有符号。


    MONEYsmallint指定 money 数据类型。

    1 = money 数据类型。

    0 = 非 money 数据类型。
    AUTO_INCREMENTsmallint指定自动增量。

    1 = 自动增量。

    0 = 不自动增量。

    NULL = 属性不适用。



    应用程序可以将值插入具有此属性的列中,但不能更新列中的值。AUTO_INCREMENT 仅对分类数据类型有效。


    LOCAL_TYPE_NAMEsysname与数据源相关的数据类型名称的本地化版本。例如,DECIMAL 的法语版本是 DECIMALE。如果是数据源不支持的本地化名称,则返回 NULL。
    MINIMUM_SCALEsmallint数据源中数据类型的最小小数位数。如果数据源的小数位数固定,则 MINIMUM_SCALEMAXIMUM_SCALE 列将同时包含此值。当小数位数不适用时,将返回 NULL。
    MAXIMUM_SCALEsmallint数据源中数据类型的最大小数位数。如果在数据源中没有单独定义最大小数位数,而是将其定义为与最大精度相同,则此列的值与 PRECISION 列的值相同。
    SQL_DATA_TYPEsmallintSQL 数据类型出现在描述符的 TYPE 字段中时的值。此列与 DATA_TYPE 列相同(除 datetime 和 ANSI interval 数据类型以外)。该字段始终返回值。
    SQL_DATETIME_SUBsmallint如果 SQL_DATA_TYPE 的值为 SQL_DATETIMESQL_INTERVAL,则此字段为 datetime 或 ANSI interval 子代码。对于非 datetime 和非 ANSI interval 的数据类型,此字段为 NULL。
    NUM_PREC_RADIXint计算一个列所能容纳的最大数时所采用的位数或数字个数。如果是近似数字数据类型,则此列包含的值为 2,表明位数。对于精确数字数据类型,此列包含的值为 10,表明十进制数字的个数。否则此列为 NULL。通过将精度和基数相结合,应用程序可以计算出列所能容纳的最大数。
    INTERVAL_PRECISIONsmallint如果 data_typeinterval,则为间隔起始精度的值;否则,为 NULL。
    USERTYPEsmallint来自 systypes 表的 usertype 值。



    注释


    sp_datatype_info 等价于 ODBC 中的 SQLGetTypeInfo。返回结果按 DATA_TYPE 排序,再按数据类型映射为相应 ODBC SQL 数据类型的紧密程度进行排序。



    权限


    执行权限默认授予 public 角色。



    示例


    下面的示例通过将 DATA_TYPE 的值指定为 –9,检索 sysname nvarchar 数据类型的信息。



    USE master
    EXEC sp_datatype_info -9
    相关文章
    本页查看次数: