求SQL语句,删除字段中的首尾指定字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求SQL语句,删除字段中的首尾指定字符相关的知识,希望对你有一定的参考价值。
access数据库,某字段中有|字符,要删除掉字段开头和字段末尾的|,不在开头和末尾的|予以保留。
请教SQL语句,谢谢!
谢谢两位!二楼语句用了不行,比如原来字段值为“|重装|系统”执行后成了“|重”。下行语句没试,估计是一样道理。
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语句,删除字段中的首尾指定字符的主要内容,如果未能解决你的问题,请参考以下文章