日度归档:2018年8月13日

mssql sqlserver null值详细说明


摘要:
下文将从sqlserver的角度详细说明null值的处理,如下所示:
实验环境:sqlserver 2008 R2


在sqlserver数据库的表中,如果一列没有指定任何值,则这一列的值为null,
在数据表中null表示”unknown”的意思,

sqlnull相关注意事项:
在sql脚本的运算中,select null+1 = null
select null*98 = null
—-null同任何数进行算术运算都将得到null
select * from tableName where field =null
select * from tableName where field <> null
以上两个查询sql都将返回unknown值,因为null与其他任何值进行逻辑运算都得到”unknown”值。

sqlserver中对null值的判断方法,需采用 is null or is not null ,如下所示:
select * from tableName where field is null
select * from tableName where field is not null

mssql sqlserver 一元运算符简介


摘要:
下文讲述sql脚本中的一元运算符的使用方法,如下所示:
实验环境:sqlserver 2008 R2


一元运算符:对单个表达式进行 正值和负值的操作,返回相应表达式的负值或正值。

运算符

运算符说明
(-)负值

返回表达式的负值
(+)正值

返回表达式的正值
~(位取反)运算符

~运算符:按二进制位取反,遇1变成0 ,遇0变成1

例:

  select -[字段名] from tableName 
  ---返回字段的负值表达式

mssql sqlserver 修改列属性将其设置为非null


摘要:
由于前期数据表未设置为非null,现需对表中的列属性进行相关修改,使其为not null,如下所示:
实验环境:sqlserver 2008 R2


前提条件:
将表中的列修改为not null前,需对表中的原数据进行相关处理,使其都变为非null值,避免修改时,出现相应的错误信息

    create table test(keyId int,info varchar(50))
	go
   
    --方法1:右键表设计,找到相应的列,把 null上的勾去掉
    
	--方法2:使用以下脚本修改列属性
    alter table  test alter column  info varchar(50) not null 

	go
	truncate table test
	drop     table test
mssql_sqlserver_设计表修改列属性

mssql_sqlserver_设计表修改列属性