如题:
- declare @OrderNo varchar(20)='abcde-2';
- select substring(@OrderNo,len(@OrderNo)-1,1)

说明:
substring('原始字符串' , 从第几个index开始取 , 取几个字符)
例子:
- --截取订单号字符串
- CREATE FUNCTION [dbo].[FormatOrderNo]
- (
- @OrderNo varchar(100)
- )
- returns varchar(100)
- AS
- BEGIN
- declare @return varchar(100);
- declare @a varchar(100);
- declare @b varchar(100);
-
- set @a=substring(@OrderNo,len(@OrderNo)-1,1);--1位数
- set @b=substring(@OrderNo,len(@OrderNo)-2,1);--2位数
-
- if(@a='-')
- set @return=substring(@OrderNo,0,len(@OrderNo)-1);
- else if(@b='-')
- set @return=substring(@OrderNo,0,len(@OrderNo)-2);
- else
- set @return=@OrderNo;
-
- return @return
- END
- GO
调用此函数:
- declare @OrderNo varchar(20)='abcde-2';
- select [dbo].[FormatOrderNo](@OrderNo)
