用SQL语句删除表中空字段

删除SQL表中某字段字符为空,Null,零长度字符串,将删除记录。

用SQL收集数据的时候,发现一些记录是不符合要求的,需要将空字段删除。

总结了下,删除的几种方法。以及扩展了下应用。

删除SQL表中某字段字符为空,Null,零长度字符串,将删除记录

delete * from T_Nav_Team where title is null

delete * from T_Nav_Team where isnull(title) = true

delete * from T_Nav_Team where len(title)<3

select * from table where length(column) = 某个值

length()是计算字符串长度的函数,不同的数据库,可能不一样。

delete from T_Nav_Team where IIf(IsNull(title),'Unknown',Format(title,'@;\ZLS'))='Unknown'

=IIf(IsNull([fieldname]),"Unknown",Format([fieldname],"@;\ZLS"))

如果字段包含 Null,则表达式返回 “Unknown”,如果字段包含零长度字符串,则表达式返回“ZLS”。否则,表达式将值返回到该字段中。

事情出现在工作中一次抓取网上信息的时候,可能考虑不全,抓到库中的信息有部分是空的,这样,我的必需将空的记录删除,试了好多办法不行,最后才找到了上面的微软的ACCESS帮助文档才解决问题。

执行:

sql="delete from news where IIf(IsNull([City]),'Unknown',Format([City],'@;\ZLS'))='Unknown'"

conn.execute(sql)

OK,解决。

另外一个对收集数据的时候,需要替换SQL中某字段中的某些字符,非常有用语句。

用sql语句直接替换或删除数据库中某字段中的特定字符 有时候不需要出库,在数据库中修改一些内容,就需要用到下列语句! sql语句为:UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,'to_str’) WHERE …… 代码说明: table_name —— 表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串 目的是为了直接用sql操作数据库修改字段中的某些字串!也可以使用下列方法有条件的替换,比较麻烦,需要三步! SELECT出来符合的记录,然后进行字符串替换,再UPDATE,但这样需要三个步骤!平时用MYSQL经常要遇到这样的问题 假如我要替换的内容是:把’家 乐 福’字符替换成’Jia Le Fu’ 要替换的内容在:数据表 cdb_posts中的message 字段。那我们就应该这样写: update dede_addonarticle set body=replace(body, ‘家乐福’, ‘Jia Le Fu’); 删除某个字符串可以这样写 UPDATE ecs_goods SET goods_name=REPLACE(goods_name, 'VANCL凡客诚品 ', '');  

本文出自 “Jimmy Li我站在巨人肩膀上” 博客,请务必保留此出处http://jimmyli.blog.51cto.com/3190309/60213

时间: 2025-01-03 17:18:07

用SQL语句删除表中空字段的相关文章

Access中如何用 Jet SQL 语句删除表关系?

access|语句 Access中如何用 Jet SQL 语句删除表关系?   如何用 jet sql 的 ddl 语句建立表和关系?微软的 Access 中包含 Data Definition Language (DDL) 来建立删除表以及关系,当然了,这也可以用 DAO 来解决. 以下就是示例:用 DDL 的 Create Table 建立一个表 Table1 ,主键是自动编号字段,另一个字段是长度是 10 的文本字段.CREATE TABLE Table1 (Id COUNTER CONS

SQL语句实现表中字段的组合累加排序

有表如下: id in out index 1 10 12 2 2 9 8 2 3 12 8 3 1 9 9 3 1 12 0 3 2 5 18 2 2 20 0 2 这三个字段均为integer类型 现要求如下: 1.按index=2查找 2.将所有id相同的和在一起,数据要加在一起 3.最后呈现的数据要按in+out进行排序,按由大到小 为满足以上的要求:设计的SQL语句如下(假设表名为tab) 复制代码 代码如下:select id,sum(in) as in,sum(out) as ou

Access中用Jet SQL语句删除表关系

如何用 jet sql 的 ddl 语句建立表和关系? 微软的 access 中包含 data definition language (ddl) 来建立删除表以及关系,当然了,这也可以用 dao 来解决. 以下就是示例: 用 ddl 的 create table 建立一个表 table1 ,主键是自动编号字段,另一个字段是长度是 10 的文本字段. create table table1 (id counter constraint primarykey primary key, mytext

sql语句实现表的字段名查询

下面为您介绍的是查询表的字段名的sql语句写法,sql语句可以实现许多的功能,希望可以您在学习sql语句使用方面获得启示. select name from syscolumns where id = (select id from sysobjects where type = 'u' and name = '相应表名')   或者   select name from syscolumns where id = object_id('相应表名')  用以上sql语句输入相应表名就可以查到表的

SQL语句实现表中字段的组合累加排序_MsSql

有表如下: id in out index 1 10 12 2 2 9 8 2 3 12 8 3 1 9 9 3 1 12 0 3 2 5 18 2 2 20 0 2 这三个字段均为integer类型 现要求如下: 1.按index=2查找 2.将所有id相同的和在一起,数据要加在一起 3.最后呈现的数据要按in+out进行排序,按由大到小 为满足以上的要求:设计的SQL语句如下(假设表名为tab) 复制代码 代码如下: select id,sum(in) as in,sum(out) as o

用SQL语句,删除掉重复项只保留一条

原文 用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,

SQL语句删除重复记录

问题:如何把具有相同字段的记录删除,只留下一条.   例如:表test里有id,name字段,如果有name相同的记录只留下一条,其余的删除.name的内容不定,相同的记录数不定.   用SQL语句删除重复记录的方法: 1.将重复的记录记入temp1表   select [标志字段id],count(*) into temp1 from [表名] group by [标志字段id] having count(*)>1 2.将不重复的记录记入temp1表   insert temp1 select

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

c#-sql语句删除一条记录有问题,毕业设计帮帮忙,能帮帮我吗?

问题描述 sql语句删除一条记录有问题,毕业设计帮帮忙,能帮帮我吗? enter code here DB db = new DB(); string UserName = this.txtUserName.Text; string PassWord = db.GetMD5(this.txtPwd.Text.ToString());//MD5加密 string Code = this.txtCode.Text; string cmdstr = "insert into tb_User(UserN