求SQL语句,删除字段中的首尾指定字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求SQL语句,删除字段中的首尾指定字符相关的知识,希望对你有一定的参考价值。

access数据库,某字段中有|字符,要删除掉字段开头和字段末尾的|,不在开头和末尾的|予以保留。
请教SQL语句,谢谢!
谢谢两位!二楼语句用了不行,比如原来字段值为“|重装|系统”执行后成了“|重”。下行语句没试,估计是一样道理。

参考技术A 如果是sqlserver的话方法如下,对应的函数你自己改一个就好了

update talbe_name--表名
set col_name=case--字段名
when substring(col_name,1,1)='|' --如果第一个字符是否为|
then case when substring(col_name,length(col_name)-1,1)='|' then substring(col_name,2,length(col_name)-1) else substring(col_name,2,length(col_name)) end--如果第一个字符是|,则判断最后一个字符是否为|,如果是|,则取字段的第2个到倒数第2个,如果不是|,则取字段的第2个到最后1个
else case when substring(col_name,length(col_name)-1,1)='|' then substring(col_name,1,length(col_name)-1) else substring(col_name,1,length(col_name)) end--如果第一个字符不是|,则判断最后一个字符是否为|,如果是|,则取字段的第1个到倒数第2个,如果不是|,则取字段的第1个到最后1个
end
参考技术B substring(|重装|系统.indexof("|"),|重装|系统.lengh) 参考技术C substring(字段,2,lengh(字段)-1) 参考技术D 对不起,刚才是错了,这样就行了:
UPDATE TABLENAME SET FIELDNAME=RIGHT(FIELDNAME,len(fieldname)-1)
WHERE FIELDNAME LIKE '|%'
UPDATE TABLENAME SET FIELDNAME=LEFT(FIELDNAME,LEN(FIELDNAME)-1)
WHERE FIELDNAME LIKE '%|'本回答被提问者采纳

以上是关于求SQL语句,删除字段中的首尾指定字符的主要内容,如果未能解决你的问题,请参考以下文章

如何写sql 语句,能删除字段中某个字符到最后字符串的?

求sql语句,怎样查询一个表中都是汉字的记录

SQL语句:统计指定字段,等于不同值的条数

求sql语句,只修改重复数据中的一条记录

sql语句,怎样判断一个字段中是不是存在某一个值

SQL语句:统计指定字段,等于不同值的条数