SQL 语句 把一个值为0的字段改为空('null')
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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型字段占用更少的内存和硬盘空间。当数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
将原语句改为update A set a is null where a='0'后点击编译查看编译的结果,然后点击运行输出结果就行了。
拓展资料:
结构化查询语言简称SQL是一种特殊目的的编程语言,一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言、1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
参考技术B update A set a = null where a = 0;--这里a列时数值类的可以这么写update A set a = null where a = '0';--这里a列时字符串类的可以这么写 参考技术C a=''表示将a设置为''字符串,并非null
写成a=null试试看! 参考技术D update A set a is null where a='0'
sql如何判断字段的值是否空值
如:
select (t.num_1 + t.num_2) from table t
字段num_1有可能为null ,如果该条记录的num_1为空值,则用0和num_2相加。这个sql语句怎么写。
最好oracle和sql server的都写写。
空值有NULL 和''的形式
当是NULL的时候用 IS NULL判断
当是''的时候用 =''判断
比如
select * from table where enddate IS NULL;
select * from table where str=''; 参考技术A oracle:
select (nvl(t.num_1, 0)+t.num_2) from table t
sql server:
select (isnull(t.num_1, 0)+t.num_2) from table t本回答被提问者采纳 参考技术B select (nvl(t.num_1, 0)+t.num_2) from table t 参考技术C 用isnull方法判断为空不为空~ 参考技术D <a href="http://12723.xxkk.net">学习中</a>
以上是关于SQL 语句 把一个值为0的字段改为空('null')的主要内容,如果未能解决你的问题,请参考以下文章
怎么写一个SQL语句查询 我的字段是float型的, 如何让它如果是空则显示空 如果是0则显示出来为 0