【问题标题】:SQL : Test if a column has the "Not Null" propertySQL:测试列是否具有“非空”属性
【发布时间】:2011-06-24 07:29:40
【问题描述】:

是否有一个简单的查询来返回特定列是否允许空值?
我想将此作为数据库升级脚本的一部分进行更改。

或者,即使它已经设置,也只是更改它会更好吗?

编辑:这是用于 SQL Server(需要支持 2000 或更高版本)

【问题讨论】:

  • 如果你想得到答案,你必须用你正在使用的实际 RDBMS 来标记它。对数据库的自省在现实世界中并没有很好地标准化。
  • 您使用的是哪个数据库?

标签: sql sql-server sql-server-2008 sql-server-2000


【解决方案1】:

任何特定的 RDBMS?

在 SQL Server 中

use master

SELECT COLUMNPROPERTY( OBJECT_ID('dbo.spt_values'),'number','AllowsNull')

或者(更标准)

select IS_NULLABLE 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA='dbo' 
      AND TABLE_NAME='spt_values' 
      AND COLUMN_NAME='number'

【讨论】:

  • 对不起,我把它标记为 SQL,以为它会更突出
  • @Abort - 您最多可以有 5 个标签!您实际使用的是哪个 RDBMS?
  • @Abort - SQL 是语言。你的意思是SQL-Server?如果是这样,请添加另一个标签。
  • 谢谢。这两个都完成了工作。我选择了第一个,因为它返回一个 int (0/1) 而不是 'Yes'/'No'
猜你喜欢
  • 2015-09-20
  • 1970-01-01
  • 2013-12-28
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
相关资源
最近更新 更多