【问题标题】:SQL Server: Checking the datatype of a columnSQL Server:检查列的数据类型
【发布时间】:2012-05-08 08:20:08
【问题描述】:

如何检查表中的列是否具有特定的数据类型?

例如,如何检查SQL Server表中的列是否为数据类型char(11)

【问题讨论】:

    标签: sql-server-2008 sqldatatypes


    【解决方案1】:
    select COLUMN_NAME 
    from INFORMATION_SCHEMA.COLUMNS
    where DATA_TYPE = 'char'
    and CHARACTER_MAXIMUM_LENGTH = 11
    and TABLE_NAME = 'your_table'
    

    使用syscolumns:

    SELECT name FROM SYSCOLUMNS
    where length = 11
    and xtype = 175 --char type
    

    【讨论】:

    • 感谢您的回答。如果我想使用 SELECT * FROM SYSCOLUMNS 应该如何查询.....
    【解决方案2】:
    select case when DATA_TYPE= 'char' then 'T' else 'F' end,    
    case when CHARACTER_MAXIMUM_LENGTH = 11 then 'T' else 'F' end    
    from INFORMATION_SCHEMA.COLUMNS     
    where COLUMN_NAME = 'MY_COLUMN_NAME'     
    and TABLE_NAME = 'MY_TABLE_NAME'
    

    【讨论】:

      【解决方案3】:

      查询列数据类型的Sql查询

      ALTER TABLE table_name MODIFY COLUMN column_name data_type;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-25
        • 2011-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多