sql 中,取得一个字符串中的数字,
如字符串'adfasdf234dafd2fd' 返回其中的数字2342
如字符串'adfasdf234dafd2fd' 返回其中的数字2342
解决方案 »
- SQLServer中如何根据一个城市码找出其下的所有城市?
- 把tb2中的marketId ,StockId不存在于tb1中的记录插入到tb1中。这样写么???
- 我的操作系统是xp pro sp2,为什么装不了sql server 2000?
- sql语句纵表变横表问题
- 如何在数据库中实现枚举类型?
- 如果获取一个视图中所有信息,请求帮忙~ 谢谢
- if you need i can help you to pass ocp,ccnp,scjp....!
- *****一个不大不小的问题,请紧帮助*******
- 提取入职日期大于半年的人员名单该如何操作。
- 怎样用一条SQL语句写出表中某一列的全部的字符串
- 给MSDE安装sp4时,说指定的实例名称无效
- 远程更新 在线等
set @s='adfasdf234dafd2fd'
while PATINDEX('%[^0-9]%',@s)>0
set @s=stuff(@s,PATINDEX('%[^0-9]%',@s),1,'')
print @s
-- 作者:yoncen
CREATE FUNCTION dbo.get_numeric(@string VARCHAR(200))
RETURNS VARCHAR(200)
AS
BEGIN
DECLARE @nLen INT
DECLARE @number VARCHAR(10)
DECLARE @SUBSTRING_VALUE VARCHAR(200)
DECLARE @RETURNVALUE VARCHAR(200)
SELECT @RETURNVALUE = ''
SELECT @number = '1234567890'
SELECT @nLen = LEN(@string)
WHILE (NOT @nLen < 0)
BEGIN
SELECT @SUBSTRING_VALUE = CHARINDEX(SUBSTRING(@string,@nLen,1),@number)
IF (NOT @SUBSTRING_VALUE = 0)
BEGIN
SELECT @RETURNVALUE = RIGHT(CONVERT(VARCHAR,@SUBSTRING_VALUE),1)+
LTRIM(@RETURNVALUE)
END
SELECT @nLen = @nLen-1
END
RETURN (@RETURNVALUE)
END PRINT dbo.get_numeric('dD2212135DF210SF12')
計算結果為:
-------------------------------------------------------
221213521012