求SQL语句:假设表名为table。求:“地址”字段中1。所有地址字段大于6个字符的,都要;
2。如果小于6个字符,则:如果包含有数字,则要;如果不含数据,则不要;
3。地址字段中,所有包含“/”字符的,不要;背景说明:我这个是在过滤出有效的会员邮寄地址。因为有许多非法的邮寄地址,我要过滤出来。我用的是Access2003,顺便问一下,如何在ACCESS中注释SQL语句。谢谢!
2。如果小于6个字符,则:如果包含有数字,则要;如果不含数据,则不要;
3。地址字段中,所有包含“/”字符的,不要;背景说明:我这个是在过滤出有效的会员邮寄地址。因为有许多非法的邮寄地址,我要过滤出来。我用的是Access2003,顺便问一下,如何在ACCESS中注释SQL语句。谢谢!
select * from table where charindex("/",add)= 0 and (len(add) > 6 or patindex('%[^0-9'add)>0)
--上面少个逗号select * from table where charindex("/",add)= 0 and (len(add) > 6 or patindex('%[^0-9',add)>0)
INSERT @T SELECT N'所有地址字段大于6个字符的,都要;'
INSERT @T SELECT N'所有123'
INSERT @T SELECT N'地址字段中,所有包含“/”字符的,不要;'
select * from @T where charindex('/',addRESS)= 0 and (len(addRESS) > 6 or patindex('%[^0-9]%',addRESS)>0)
/*ID ADDRESS
----------- ----------------------------------------------------------------------------------------------------
1 所有地址字段大于6个字符的,都要;
2 所有123(影響 2 個資料列)
*/
insert tb values('a2b')
insert tb values('aaaa')
insert tb values('bbbbbbbbbbb')
insert tb values('cc/d')
go
select * from tb where charindex('/',addr)=0 and (len(addr)>6 or addr like '%[0-9]%')/*
addr
----------------------------------------------------------------------------------------------------
a2b
bbbbbbbbbbb(2 row(s) affected)*/
你去查查对应的函数是什么就好了,LIKE是有的