SQL 语句 把一个值为0的字段改为空('null')

A表里a字段现在为0,想把0全改为空值

update A set a = '' where a = '0'
这样没有改变a的值 

不能设为空值可能存在以下两个原因:

1.首先要判断a字段是否可以设为空值:
右键选择表,点击设计,查看字段允许null值是否打勾,打勾为可以设为空值。

2.还要检查字段的数据类型是否为字符型,int类的空值会被设置为0。
更改数据类型的语句为:
alter table 表名 alter column 列名 char(20) null.
两部都没问题后,在采用update A set a='null' where a='0'修改。


拓展资料:

结构化查询语言字符型
VARCHAR VS CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
假如向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。以后从这个字段中取出此数据时,取出的数据其长度为十个字符——字符串Bill Gates的长度。假如把字符串输入一个长度为四十个字符的CHAR型字段中,那么当取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,不需要为剪掉数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当数据库很大时,这种内存和磁盘空间的节省会变得非常重要。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-17

将原语句改为update A set a is null where a='0'后点击编译查看编译的结果,然后点击运行输出结果就行了。

拓展资料:

结构化查询语言简称SQL是一种特殊目的的编程语言,一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名


结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言、1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。

本回答被网友采纳
第2个回答  2021-12-31
update A set a = null where a = 0;--这里a列时数值类的可以这么写
update A set a = null where a = '0';--这里a列时字符串类的可以这么写本回答被网友采纳
第3个回答  2013-06-24
a=''表示将a设置为''字符串,并非null
写成a=null试试看!本回答被网友采纳
第4个回答  2017-04-19
update A set a is null where a='0'
相似回答