且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-30 07:55:40

用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_lixw 51CTO博客,原文链接:http://blog.51cto.com/jimmyli/602138,如需转载请自行联系原作者