关于SQL函数,请高手前来指点!

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:21:08
表A得到项1

问:1、如何把项1字符等于或大于30个的列全部过滤出来!
2、如何把项1字符等于或大于30个的值,并删除后面2个字符

谢谢!
是指值的长度30! 类型为char

SQL是SQL SERVER

我把要30个字符长度的值,删除最后2个字符的值,只保留前面28个值!

1、select 项1 from 表A where len(项1)>=30
2、
只删后两个字符:
update 表A set 项1=substring(项1,1,len(项1)-2)
where len(项1)>=30
保留28个字符(删除 长度-28 个字符)
update 表A set 项1=substring(项1,1,28)
where len(项1)>=30

1: 你是指字段里的值长度吧,用length(项1) >=30 就行了,可能不同的数据库函数有点不一样。

2:用replace 函数,项1 = replace(substr(项1,31,2),null)
意思是字段1 的值等于 把本身的从第31 个字符开始取2 个替换为空的值