假设数据库中,某一列数据像这样,每个数据都有同一个字符“-”,这时如果我们需要获取这个字符的前面的字符串或后面的字符串,应该用什么SQL语句呢?
SUBSTRING ( expression, start, length ) --SUBSTRING(\'列名\',起始位数,要取的字符串长度)
1.获取“-”前面的字符串:
SUBSTRING( FBILLNO , 1 , CHARINDEX(\'-\',FBILLNO)-1 )
列名 ,从第一位取值 ,要取的字符串长度是“-”字符在字段中的位置减1
2.获取“-”后面的字符串:
SUBSTRING( FBILLNO , CHARINDEX(\'-\',FBILLNO)+1 , len(FBILLNO)-charindex(\'-\',FBILLNO) )
列名 , 从“-”字符后一位开始 , 要取的字符串长度是字段总长度减去“-”字符所在位置