数字可以省略引号
完整的应该是
select * from A where 字段名 in (100,101,102)
注意逗号不能用中文输入法的,只能用英文。
100是一个值,所以正常
100,101是一个值集,一个值等于一个值集当然会报错
教你个测试的好办法
sql="select * from A where 字段名 in("&xx&")"
之后再写一句
print sql
如果sql打印出来是select * from A where 字段名 in (100,101,102)
那就对了,如果不是,你根据打印出来的结果修改
用ASP写了个片段,可以很方便的实现你想要的功能:
<%
dim intPos
intPos=2 '想要删除的字符位置,去掉五位中的第一位即intPos=1,第二位等于2,以此类推
mySQL="SELECT id FROM test" '假设表名字为test,其中id为要修改的列名字
myRs.Open mySQL,myConn,1,3
Do While Not myRs.EOF
myRs("id").value=mid(myRs("id").value,1,intPos-1) & mid(myRs("id").value,intPos+1,5-intPos)
myRs.Update
myRs.MoveNext
Loop
%>
如果楼主不是ASP语言的话,可以改成其它语言。
update 表 set 字段1=left(字段1,1)+right(字段1,len(字段1)-2)
那么数字应该是CHAR/VARCHAR保存的,用LEFT(),RIGHT()函数,如果想自动找0,可以用CHARINDEX
假定字段名是BBN, 并且都有0
update 表 set BBN = left(BBN,CHARINDEX('0',BBN,2)-1) +right(BB,len(BBN)-CHARINDEX('0',BBN,2)) where CHARINDEX('0',BBN,2) > 1
Update table set 字段=replace(字段,'0','')