精华内容
下载资源
问答
  • sysobjects syscolumns

    2015-10-24 16:55:00
    在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.object_id就是根据对象名称返回该对象... select * from syscolumns where [id]=object_id('shop_voice') and [name]='voice6_id' ...

    在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.
    object_id就是根据对象名称返回该对象的id.
    反之,object_name是根据对象id返回对象名称.

    比如查询某表是否有某字段

    select * from syscolumns where [id]=object_id('shop_voice') and [name]='voice6_id'

     select object_id('shop_voice')


    select object_id(对象名)等同于:
    select id from sysobjects where name=对象名
    注: 如果参数是一个临时表名,则必须指定所属数据库.你举出的OBJECT_ID('Tempdb..##flowcount') 就属于这种情况.说明这个临时表是数据库Tempdb的.

    select object_name(id号)等同于:
    select name from sysobjects where id=id号

     

    sys.columns 也是查询字段好像字段比 syscolumns 查出来的少    sys.objects syscolumns 里面包含所有表和字段主键什么的

    转载于:https://www.cnblogs.com/sxmny/p/4907166.html

    展开全文
  • 系统函数syscolumns

    2014-02-10 11:00:47
    select count(1) from syscolumns where id = object_id('tbname')   2、查询一个表的所有列名 SELECT OBJECT_NAME(A.ID) TABLENM ,A.NAME COL FROM SYSCOLUMNS A WHERE OBJECT_NAME(A.ID) = 'IMPJMM

    1、查询一个表中有多少列

    select count(1) from syscolumns where id = object_id('tbname')

     

    2、查询一个表的所有列名

    SELECT OBJECT_NAME(A.ID) TABLENM     ,A.NAME COL    FROM SYSCOLUMNS A   WHERE OBJECT_NAME(A.ID) = 'IMPJMMONTHRPT_REAL201311'



     

     

    展开全文
  • 数据库表syscolumns 各个字段含义

    千次阅读 2019-02-25 11:31:22
    每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息 ...select isnullable from syscolumns where id=object_id('TY_EMBASIC') and name= 'EMPTYPEID'   列名 数据类型 描述 name...

     

    每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息

    每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。

    select isnullable from syscolumns where id=object_id('TY_EMBASIC') and name= 'EMPTYPEID'

     

    列名数据类型描述
    namesysname列名或过程参数的名称。
    idint该列所属的表对象 ID,或与该参数关联的存储过程 ID。
    xtypetinyintsystypes 中的物理存储类型。
    typestattinyint仅限内部使用。
    xusertypesmallint扩展的用户定义数据类型 ID。
    lengthsmallintsystypes 中的最大物理存储长度。
    xprectinyint仅限内部使用。
    xscaletinyint仅限内部使用。
    colidsmallint列或参数 ID。
    xoffsetsmallint仅限内部使用。
    bitpostinyint仅限内部使用。
    reservedtinyint仅限内部使用。
    colstatsmallint仅限内部使用。
    cdefaultint该列的默认值 ID。
    domainint该列的规则或 CHECK 约束 ID。
    numbersmallint过程分组时(0 表示非过程项)的子过程号。
    colordersmallint仅限内部使用。
    autovalvarbinary(255)仅限内部使用。
    offsetsmallint该列所在行的偏移量;如果为负,表示可变长度行。
    statustinyint用于描述列或参数属性的位图:

    0x08 = 列允许空值。
    0x10 = 当添加 varchar 或 varbinary列时,ANSI 填充生效。保留 varchar 列的尾随空格,保留 varbinary 列的尾随零。
    0x40 = 参数为 OUTPUT 参数。
    0x80 = 列为标识列。

    typetinyintsystypes 中的物理存储类型。
    usertypesmallintsystypes 中的用户定义数据类型 ID。
    printfmtvarchar(255)仅限内部使用。
    precsmallint该列的精度级别。
    scaleint该列的小数位数。
    iscomputedint表示是否已计算该列的标志:

    0 = 未计算。
    1 = 已计算。

    isoutparamint表示该过程参数是否是输出参数:

    1 = 真。
    0 = 假。

    isnullableint表示该列是否允许空值:

    1 = 真。
    0 = 假。

    展开全文
  • 系统表syscolumns保存的是表的字段信息。其包含的主要字段如下: 字段名称 字段类型 说明 colname VARCHAR(128) 字段名称 tabid INTEGER 该字段所属的表的唯一ID colno SMALLINT 字段编号(表内) ...

    syscolumns表结构

    系统表syscolumns保存的是表的字段信息。其包含的主要字段如下:

    字段名称字段类型说明
    colnameVARCHAR(128)字段名称
    tabidINTEGER该字段所属的表的唯一ID
    colnoSMALLINT字段编号(表内)
    coltypeSMALLINT字段的数据类型(数字形式)
    collength对不同的数据类型有不同解释:
    基本数值类型
    可变长字符型
    时间类型
    定点数据类型
    简单大对象
    IDSSECURITYLABEL
    取决于数据类型
    colminINTEGER最小字段长度(单位:字节)
    colmaxINTEGER最大字段长度(单位:字节)
    extended_idINTEGER从系统表sysxtdtypes而来的数据类型编码
    seclabelidINTERGER总是NULL
    colattrSMALLINT字段属性:
    HIDDEN: 1 - 隐藏字段
    ROWVER: 2 - 行版本字段
    ROW_CHKSUM: 4 - 行键字段
    ER_CHECKVER: 8 - ER行版本字段
    UPGRD1_COL:16 - ER自动主键字段
    UPGRD2_COL: 32 - ER自动主键字段
    UPGRD3_COL: 64 - ER自动主键字段
    PK_NOTNULL: 128 - 主键非空

    说明:在tabid和colno上建有复合主键。

    coltype类型

    coltype值对应16进制值对应的数据类型
    00x0CHAR
    10x1SMALLINT
    20x2INTEGER
    30x3FLOAT
    40x4SMALLFLOAT
    50x5DECIMAL
    60x6SERIAL
    70x7DATE
    80x8MONEY
    90x9NULL
    100xaDATETIME
    110xbBYTE
    120xcTEXT
    130xdVARCHAR
    140xeINTERVAL
    150xfNCHAR
    160x10NVARCHAR
    170x11INT8
    180x12SERIAL8
    190x13SET
    200x14MULTISET
    210x15LIST
    220x16ROW(未命名)
    230x17COLLECTION
    400x28可变长度不透明类型
    410x29固定长度不透明类型
    430x2bLVARCHAR(仅适用于客户机端)
    450x2dBOOLEAN
    520x34BIGINT
    530x35BIGSERIAL
    20610x80dIDSSECURITYLABEL
    41180x1016ROW(命名)

    coltype代码可通过叠加位值显示列的以下特征。

    位值设置位时的有效值
    0x0100不允许使用 NULL 值
    0x0200值来自主变量
    0x0400用于联网的数据库服务器的点分十进制
    0x0800DISTINCT 数据类型
    0x1000命名 ROW 类型
    0x2000LVARCHAR 基本类型中的 DISTINCT 类型
    0x4000BOOLEAN 基本类型中的 DISTINCT 类型
    0x8000在客户机系统上处理的集合

    如:
    包含NOT NULL属性的varchar类型的coltype的值是269,是十六进制值0x10d的十进制表示法,该十六进制值是0xd(varchar类型)与0x100(不允许使用NULL值)的叠加。
    命名行类型的 coltype 值 4118,是十六进制值 0x1016 的十进制表示法,该十六进制值与设置了命名行类型位的未命名行类型 0x16 的十六进制 coltype 值相同。

    文件 $GBASEDBTDIR/incl/esql/sqltypes.h 包含有关 syscolumns.coltype 代码的其他信息。

    NOT NULL 约束
    如上面所述:如果列不允许使用 NULL 值,那么 coltype 值将增加 256。要确定这种列的数据类型,根据可能的 coltype 值,从值中减去 256 并求余数。例如,如果 coltype 值为 262,减去 256 得到余数 6,那么这表示列具有 SERIAL 数据类型。

    不透明数据类型

    特定数据类型是由数据库服务器作为内置不透明数据类型来实现的。内置不透明数据类型的类型定义由数据库服务器提供。

    内置不透明类型没有唯一的 coltype 值。相反,coltype 值基于不透明类型的类别。以下表列出内置不透明数据类型的 coltype 值:

    不透明数据类型的类别预定义数据类型coltype 列的值
    固定长度不透明类型BLOB、BOOLEAN 和 CLOB41
    长度可变的不透明类型LVARCHAR、JSON 和 BSON40
    VARCHAR(128) 的 DISTINCTIDSSECURITYLABEL2061

    使用 sysxtdtypes 系统目录表中的 extended_id 列来区分不同的固定长度不透明类型。

    存储列长度

    collength 列值取决于列的数据类型。

    基于整数的数据类型

    BIGINT、BIGSERIAL、DATE、INTEGER、INT8、SERIAL、SERIAL8 或 SMALLINT 列的 collength 值与机器无关。 数据库服务器对 SQL 语言的这些基于整数的数据类型使用以下长度。

    基于整数的数据类型长度(以字节计)
    SMALLINT2
    DATE、INTEGER 和 SERIAL4
    INT8 和 SERIAL810
    BIGINT 和 BIGSERIAL8

    可变长度字符数据类型

    对于 LVARCHAR 类型的列,collength 具有来自数据类型声明的 max 值或 2048(如果没有指定最大值)。

    对于 VARCHAR 或 NVARCHAR 列,max_size 和 min_space 值是使用以下某个公式编码在 collength 列中:
    如果 collength 值是正的:

    collength = (min_space * 256) + max_size
    

    如果 collength 值是负的:

    collength + 65536 = (min_space * 256) + max_size
    

    时间数据类型

    如前面所述,DATE 列在 collength 列中的值为 4。

    对于类型为 DATETIME 或 INTERVAL 的列,collength 是使用以下公式确定的:

    (length * 256) + (first_qualifier * 16) + last_qualifier
    

    长度是 DATETIME 或 INTERVAL 字段的实际长度,first_qualifier 和 last_qualifier 具有下表所显示的值。

    字段限定符字段限定符
    YEAR0FRACTION(1)11
    MONTH2FRACTION(2)12
    DAY4FRACTION(3)13
    HOUR6FRACTION(4)14
    MINUTE8FRACTION(5)15
    SECOND10

    例如:如果 DATETIME YEAR TO MINUTE 列长度为 12(例如:YYYY:DD:MO:HH:MI),first_qualifier 值为 0(用于 YEAR),并且 last_qualifier 值为 8(用于 MINUTE),那么 collength 值为 3080(由 (256 * 12) + (0 * 16) + 8 计算所得)。

    例如:如果 DATETIME YEAR TO MINUTE 列长度为 12(例如:YYYY:DD:MO:HH:MI),first_qualifier 值为 0(用于 YEAR),并且 last_qualifier 值为 8(用于 MINUTE),那么 collength 值为 3080(由 (256 * 12) + (0 * 16) + 8 计算所得)。

    定点数据类型

    MONEY 或 DECIMAL(p,s) 列的 collength 值可使用以下公式来计算:

    (precision * 256) + scale
    

    简单大对象数据类型
    如果列的数据类型为 BYTE 或 TEXT,那么 collength 保存描述符的长度。

    存储最大值和最小值

    colmin 和 colmax 值分别保存该列中第二小和第二大的数据值。
    例如:如果索引列中的各个值为 1、2、3、4 和 5,那么 colmin 值为 2 而 colmax 值为 4。存储第二小的数据值和第二大的数据值会让查询优化器对列中的值范围进行假设并进一步依次优化搜索策略。

    仅当对列建立了索引并且 UPDATE STATISTICS 语句显式或隐式地计算了列分发时,colmin 和 colmax 列才会包含值。如果在表空间中存储 BYTE 或 TEXT 数据,那么 colmin 值会编码为 -1。

    colmin 和 colmax 列仅对适合四个字节的数据类型有效:SMALLFLOAT、SMALLINT、INTEGER 以及 CHAR 的前四个字节。所有其他非整数列类型的值是最大值或最小值的头四个字节,它们被视为整数。

    使用 UPDATE STATISTICS MEDIUM 比依赖于 colmin 和 colmax 值要好。UPDATE STATISTICS MEDIUM 提供了更好的信息并且对于所有数据类型都有效。

    GBase 8s不计算用户定义的数据类型的 colmin 和 colmax 值。但是,如果用户定义的辅助访问方法提供了用户定义的数据类型,那么这些列具有用户定义的数据类型的值。

    展开全文
  • SYSCOLUMNS 了解应用

    2013-04-19 14:32:00
    SQLServer中SYSCOLUMNS表的各个字段的意义 -----列名---------- 数据类型--------------- 描述------- ----name------- --sysname --------------列名或过程参数的名称 eg:select name from sysobjects where ...
  • syscolumns的字段

    2012-05-25 19:37:00
    syscolumns SQL Server 2000 10(共 17)对本文的评价是有帮助-评价此主题 Contains one row for every column in every table and view, and a row for each parameter in a stored procedure. This table is in...
  • 认识SQLSERVER中的syscolumns

    千次阅读 2015-12-20 15:49:11
    syscolumns:存储数据库所有表的列 通过sql查询syscolumns表 从查询结果可以看到表中有很多字段,重点关注一下name、id字段 name: 字段名 id: 所属表的id,此id外键关联的就是系统表sysobjects的id字段 可以...
  • 每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息。 每个表和视图中的每列在表中占一行,...select isnullable from syscolumns where id=object_id(‘TY_EMBASIC’) and name= ‘EMPTYPEID’ ...
  • 1、根据表名查询对象ID SELECT OBJECT_ID('Production.Product') 结果:1429580131 不能作为输入参数:列名、约束名 能作为输入参数:表名 ...一、syscolumns 1.根据表名查询表的所有列的名称 ...
  • Informix 系统表(syscolumns)中字段类型(coltype)字段的含义, 字段类型说明和查询SQL语句
  • sysobjects sysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等),各在表中占一行。...use EShop select name="name" from syscolumns where id=obj...
  • select name,xtype from syscolumns where id=(select id from sysobjects where name='tab_AAA' and xtype = 'U') and ((COLUMNPROPERTY(OBJECT_ID('tab_AAA','U'),NAME,'IsIdentity') <> 1) ...
  • syscolumns:每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。 这三张表用ID(表ID)字段关联,共用一个ID,具体的字段含义这里就不一一列举了,接下来给大家分享我们可以用这个几张表干...
  • 1,syscolumns中xtype对应的字符类型 34 image 35 text 36 uniqueidentifier 48 tinyint 52 smallint 56 int 58 smalldatetime 59 real 60 money 61 datetime 62 float 98 sql_variant 99 ntext 104 ...
  • (一) syscolumns 系统的字段表 保存当前数据库中的所有字段。 syscolumns 表结构(常用字段解释): 列名 数据类型 描述 name sysname 字段名称 id int 字段所在表id xtype tinyint
  • syscolumns表结构

    2020-04-30 15:26:54
    列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint systypes中的物理存储类型。... co...
  • syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名 数据类型 描述 name sysname 列名...
  • 查了一下,这些东西都是存于每一个数据库的syscolumns表里面得,name就是列名,xtype就是数据类型,但是这个xtype是数字的,下面是数字和数据类型对应的关系; xtype=34 'image'xtype= 35 'text'xtype=36 '...
  • --syscolumns表中所有字段的意思 name sysname --列名或过程参数的名称。 id int --该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint --systypes 中的物理存储类型。 typestat tinyint -...
  • 2 select count(*) from syscolumns where id=object_id('tb_Blog') 获取指定表的所有字段和字段类型 1 SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='表名' ...
  • 我们写代码时候避免不了添加数据、更新数据,但是如果一张表字段太多,要写的代码量就会加大,比如用StringBuilder拼接Insert SQL语句;...select Name From syscolumns where id=OBJECT_ID('表名') 2、
  • SysObjects 的作用这个关键字是用来查看数据库中的所有的内容的,包括表,视图,存储过程等...同样包括,表,表字段,索引等使用方式:sp_help 表名syscolumns的作用查看所有的字段信息,使用方式 select *from ...
  • SQLServer中SYSCOLUMNS表的各个字段的意义 列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。  xtype tinyint systypes 中的物理...
  • Sqlserver中syscolumns表的xtype列的物理存储类型,oracle中怎么查
  • syscolumns 简单的说就是放字段的地方
  • 表中太多列,只想查找某些比如...select * from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='test_A')    2、查找指定数据类型,xtype就是数据类型,参考如下 sysc...
  • 当前数据库的所有字段都保留在syscolumns里面。syscolumns ( name sysname, --字段名称 id int, --该字段所属的表的ID xtype tinyInt, --该字段类型,关联sysTypes表 length smallint, --该字段物理存储长度 .....
  • sql server数据库中三张重要的系统表 ...syscolumns:每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。 这三张表用ID(表ID)字段关联。这三张系统表一旦损坏,与之对应数据
  • syscolumns每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,233
精华内容 9,293
关键字:

syscolumns