1、这要看你如何保存你查询的结果。只能是你把你查询的结果保存为0,查询不会改变原本存在的值。表名test,字段a=null(int型),字段b=1,字段c=2 :select from test into tabel test1
update set a=0 where a=null。
2、用 IsNull(字段名, '') 可以将NULL的字段转换为空值,这在多个字段连接时很有用,因为NULL值+任何字段都是NULL。
3、将NULL替换为空create procedure fill_null@tablename varchar(100) --表名asdeclare @colname varchar(100)declare col_cur cursor for select cname from syscolumns c,sysobjects o where cid=oid and oname=@tablename open col_curfetch next from col_cur into @colnamewhile @@fetch_status!=-1beginexec ('update '+@tablename+' set '+@colname+'='''' where '+@colname+' is null' )fetch next from col_cur into @colnam endclose col_curdeallocate col_cur
一、需要将表中的某字段为0的置为NULL,使用以下语句:UPDATE 表 SET 字段=NULL WHERE 字段=0
二、需要将查询出来的结果中,某字段为0的转为NULL用以下语句:
SELECT
(CASE WHEN [字段] <> 0 then [字段] END) AS [字段]
--等于0的会转成null,不等于0的用原字段值输出
其它字段1,
其它字段2,
……
FROM 表SQL server用isnull(字段名,0)
Oracle用nvl(字段名,0)
作用是判断字段名是否为null如果不是null就保留原值,如果是就返回默认值0
这里的0可以修改为任何你想返回的值
你这问题可以直接这样计算
isnull(进货数量,0)-isnull(出货数量,0)
Oracle的话就是
nvl(进货数量,0)-nvl(出货数量,0)
update table1 set cilumn_name = null where column_name2 = ;
commit;
sql 语句是对数据库进行 *** 作的一种语言。
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
1、你的理解是错误的,你说的null是字符,而你说的NULL应该是SQL内置的空值。2、关系型数据库中的主键均不能为空,不管是单一列做为主键还是多列组合做为主键,都是不允许的3、主键的概念你还不清楚,下面给你一些参考材料,你阅读后就会明白。主键(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)