SQL server查询如何统一去除某个字段前几位字符

m0_63255221 2023-05-05 11:19:46

请教各位大佬,SQL server查询如何去除FullPathName_CHS 字段前七位字符

 

...全文
542 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 2023-05-06
  • 打赏
  • 举报
回复

使用截取字符串的函数SUBSTRING,楼上的代码健壮性较好,对长度做了判断,避免长度不够7出现错误

zhang_Kylin 2023-05-05
  • 打赏
  • 举报
回复

SELECT SUBSTRING(FullPathName_CHS, 
                 CASE WHEN LEN(FullPathName_CHS) < 7 THEN 1 ELSE 8 END,
                 CASE WHEN LEN(FullPathName_CHS) < 7 THEN LEN(FullPathName_CHS) ELSE LEN(FullPathName_CHS) - 7 END) AS FullPathName
FROM YourTableName

使用了 CASE WHEN 语句来判断 FullPathName_CHS 字段的长度。如果其长度小于 7,则从第一个字符开始截取,截取的长度为其长度;否则,从第八个字符开始截取,截取的长度为字符串长度减去 7。可以避免出现截取长度超过字符串长度的错误

吉普赛的歌 版主 2023-05-05
  • 打赏
  • 举报
回复

DECLARE @t TABLE (
    FullPathName_CHSERP NVARCHAR(MAX)    
)
INSERT INTO @t VALUES ('ERP信息系统广东在勤实业发展有限公司')
INSERT INTO @t VALUES ('ERP信息系统广东在勤实业发展有限公司')
INSERT INTO @t VALUES ('ERP信息系统广东在勤实业发展有限公司')
INSERT INTO @t VALUES ('ERP信息系统广东在勤实业发展有限公司')
INSERT INTO @t VALUES ('ERP信息系统广东在勤实业发展有限公司')

SELECT SUBSTRING(t.FullPathName_CHSERP,8,LEN(t.FullPathName_CHSERP)) FROM @t AS t
收集整理的SQL Server自定义函数,原文地址:http://blog.csdn.net/maco_wang 1.去除字符串中的html标记及标记中的内容 2 2. 去除字符串中连续的分割符 4 3.求第一个字符串中第二个串的个数 6 4.综合模糊查询 6 5.将十进制转成十六进制 8 6.求两个字符串中相同的汉字及字母的个数 10 7.生成n位随机字符串 11 8.取出字符串中的汉字、字母或是数字 14 9.根据字符分割字符串的三种写法 16 10.将数字转换千分位分隔形式 18 11.取汉字首字母的两个函数 20 12.根据身份证得到生日函数 23 13.根据身份证计算性别函数 24 14.将身份证的15位号码升级为18位 25 15.通过身份证获得户籍 27 16.多个数据项的字符串取指定位置字符 28 17.中缀算术转后缀算术表达式并计算的函数 29 18.人民币小写金额转大写 32 19.向左填充指定字符串 36 20.将整型数字转换为大写汉字 39 21.检查给定串是否存在于由区间及点集的结合内 39 22.根据日期返回星座 41 23.计算两个日期之间的工作日 43 24.根据年月生成日历函数 44 25.从第一个汉字开始分割字符串 47 26.过滤掉字符串中重复的字符 47 27.根据日期得到星期的函数 48 28.根据年度判断是否是闰年 49 29.完善SQL农历转换函数 50 30.自定义函数实现位操作 58 31.求某段时间内星期几的天数 61 32.根据进舍位或四舍五入来求值 63 33.字符串转成16进制函数 64 34.去掉字段中多个带区号电话号码面的区号 65 35.SQL2000/2005字符串拆分为列表通用函数 67 36.求字符串中汉字的个数 69 37.根据年月得到当月的天数 71 38.全角半角转换函数 71

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧