SQL语句:如何截取指定字段某一个字符的前面/后面的字符串?

技术博客 (130) 2023-09-16 10:44:53

假设数据库中,某一列数据像这样,每个数据都有同一个字符“-”,这时如果我们需要获取这个字符的前面的字符串或后面的字符串,应该用什么SQL语句呢?

SUBSTRING ( expression, start, length )               --SUBSTRING('列名',起始位数,要取的字符串长度)

SQL语句:如何截取指定字段某一个字符的前面/后面的字符串? (https://mushiming.com/) 技术博客 第1张

1.获取“-”前面的字符串:

SUBSTRING(FBILLNO, 1 ,  CHARINDEX('-',FBILLNO)-1)  from a

列名   ,从第一位取值 ,要取的字符串长度是“-”字符在字段中的位置减1

SQL语句:如何截取指定字段某一个字符的前面/后面的字符串? (https://mushiming.com/) 技术博客 第2张

2.获取“-”后面的字符串:

SUBSTRING(FBILLNO ,CHARINDEX('-',FBILLNO)+1 ,len(FBILLNO)-charindex('-',FBILLNO))

列名,从“-”字符后一位开始 ,要取的字符串长度是字段总长度减去“-”字符所在位置

SQL语句:如何截取指定字段某一个字符的前面/后面的字符串? (https://mushiming.com/) 技术博客 第3张

THE END

发表回复