关于字符串,请大家进来看看 create proc p_subs @str varchar(1000),@start intasdeclare @leng intset @leng=len(@str)print substring(@str,@start,@leng-@start+1) exec p_subs '223888884',4 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select right('X888884',6)RIGHT返回字符串中从右边开始指定个数的字符。 语法RIGHT ( character_expression , integer_expression ) 参数character_expression字符或二进制数据的表达式。character_expression 可以是常量、变量或列。character_expression 可以是能够隐式转换为 varchar 或 nvarchar 的任何数据类型(除了 text 或 ntext)。否则,请使用 CAST 函数显式转换 character_expression。integer_expression正整数,指定 character_expression 将返回多少字符。如果 integer_expression 是负数,则返回一个错误。返回类型varchar 或 nvarchar注释兼容级别可能影响返回值。有关更多信息,请参见 sp_dbcmptlevel。 --试试这个吧!declare @str varchar(100)declare @start intset @str='X888884'select @start=patindex('%[0-9]%',@str)select right(@str,len(@str)-@start+1)--结果/* ---------------------------------------------------------------------------------------------------- 888884(所影响的行数为 1 行)*/ right(str,len(str)-PATINDEX('%[0-9]%',str)+1) --写成了一个函数,这样我觉得无论是表还是字符串都比较方便了.Create Function dbo.Fn_findnum(@str varchar(100))returns varchar(100)asbegindeclare @start intdeclare @out_str varchar(100)select @start=patindex('%[0-9]%',@str)select @out_str=right(@str,len(@str)-@start+1)return(@out_str)end--测试select dbo.fn_findnum('dasd1234566')--结果/* ---------------------------------------------------------------------------------------------------- 1234566(所影响的行数为 1 行)*/ group by 与count 的问题 ,求一SQL 如何实现多条件在sql语句!!! 这样的查询如何做? 关于exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output的提问 追加TABLE的默认属性 如何写sql语句 请问各位大哥:触发器问题 订单编号产生问题 OPENDATASOURCE在存储过程中可以执行但是不能在触发器中执行?求助 用sql把多个列以,分隔的转为多行,求各解决方案,感谢。 如此SQL語句,不知能否實現? 如何得到while循環中的每條記錄??謝謝
返回字符串中从右边开始指定个数的字符。 语法
RIGHT ( character_expression , integer_expression ) 参数
character_expression字符或二进制数据的表达式。character_expression 可以是常量、变量或列。character_expression 可以是能够隐式转换为 varchar 或 nvarchar 的任何数据类型(除了 text 或 ntext)。否则,请使用 CAST 函数显式转换 character_expression。integer_expression正整数,指定 character_expression 将返回多少字符。如果 integer_expression 是负数,则返回一个错误。返回类型
varchar 或 nvarchar注释
兼容级别可能影响返回值。有关更多信息,请参见 sp_dbcmptlevel。
declare @start int
set @str='X888884'
select @start=patindex('%[0-9]%',@str)
select right(@str,len(@str)-@start+1)--结果
/*
----------------------------------------------------------------------------------------------------
888884(所影响的行数为 1 行)
*/
(@str varchar(100))
returns varchar(100)
as
begin
declare @start int
declare @out_str varchar(100)
select @start=patindex('%[0-9]%',@str)
select @out_str=right(@str,len(@str)-@start+1)
return(@out_str)
end
--测试
select dbo.fn_findnum('dasd1234566')
--结果
/*
----------------------------------------------------------------------------------------------------
1234566(所影响的行数为 1 行)
*/