关于字符串,请大家进来看看

Sunniness 2005-01-08 11:25:21
在SQL 里,有什么办法

返回这个字符串的数字部分

比如:
'X888884' 我要返回888884这些部分,但"X"并不可以是固定的,有可以是0个或2个或4个或N个字母,但一定是在前面,我要返回后面的数字部分
...全文
90 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
DG_1 2005-01-08
  • 打赏
  • 举报
回复
呵呵 ~學習
mschen 2005-01-08
  • 打赏
  • 举报
回复
--写成了一个函数,这样我觉得无论是表还是字符串都比较方便了.

Create Function dbo.Fn_findnum
(@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 行)
*/
yesyesyes 2005-01-08
  • 打赏
  • 举报
回复
right(str,len(str)-PATINDEX('%[0-9]%',str)+1)
NinGoo 2005-01-08
  • 打赏
  • 举报
回复
老陈得好,呵呵
mschen 2005-01-08
  • 打赏
  • 举报
回复
--试试这个吧!

declare @str varchar(100)
declare @start int
set @str='X888884'
select @start=patindex('%[0-9]%',@str)
select right(@str,len(@str)-@start+1)

--结果
/*

----------------------------------------------------------------------------------------------------
888884

(所影响的行数为 1 行)
*/

cgsun 2005-01-08
  • 打赏
  • 举报
回复
如果連右邊的數字都不是固定的,那自己用sp寫
lxysjl 2005-01-08
  • 打赏
  • 举报
回复
这样好像不合他意吧.他可不是要带参数的
cgsun 2005-01-08
  • 打赏
  • 举报
回复
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。
zengzhengliang 2005-01-08
  • 打赏
  • 举报
回复
存储过程
zengzhengliang 2005-01-08
  • 打赏
  • 举报
回复

create proc p_subs @str varchar(1000),@start int
as
declare @leng int
set @leng=len(@str)
print substring(@str,@start,@leng-@start+1)


exec p_subs '223888884',4
Sunniness 2005-01-08
  • 打赏
  • 举报
回复
谢谢大家!

34,590

社区成员

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

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