Solved

# String selection charindex

Posted on 2006-06-28
414 Views
If i have some values that look like this:

M000000113
M000001194
M000000245
0000018759
0000011011

I want to select these values but make this number M000000113 look like this M113 and numbers like this 0000011011 look like 11011.
Bassically get rid of leading 0s and all 0s in between the M and the number.  Any suggestions?
0
Question by:jmp02008
• 2

LVL 6

Accepted Solution

ChrisKing earned 500 total points
ID: 17036886
1> declare @var varchar(20)
2> select @var = 'M000000113'
3> select substring(@var,1,patindex('%[0-9]%',@var)-1) + convert(varchar(20),convert(numeric(20),substring(@var,1+patindex('%[0-9]%',@var)-1,20)))
4>
5> select @var = '0000018759'
6> select substring(@var,1,patindex('%[0-9]%',@var)-1) + convert(varchar(20),convert(numeric(20),substring(@var,1+patindex('%[0-9]%',@var)-1,20)))
go
7> (1 row affected)

----------------------------------------
M113

(1 row affected)
(1 row affected)

----------------------------------------
18759

(1 row affected)
1>
0

LVL 6

Expert Comment

ID: 17036922
1> create table #test(oldvalue varchar(20))
2> insert into #test select 'M000000113'
3> insert into #test select 'M000001194'
4> insert into #test select 'M000000245'
5> insert into #test select '0000018759'
6> insert into #test select '0000011011'
7>
8> select oldvalue
9> ,      newvalue = substring(oldvalue,1,patindex('%[0-9]%',oldvalue)-1)
10>                 + convert(varchar(20),convert(numeric(20),substring(oldvalue,1+patindex('%[0-9]%',oldvalue)-1,20)))
11> from   #test
12> go
oldvalue             newvalue
-------------------- ----------------------------------------
M000000113           M113
M000001194           M1194
M000000245           M245
0000018759           18759
0000011011           11011

(5 rows affected)
0

## Featured Post

### Suggested Solutions

In  today’s increasingly digital world, managed service providers (MSPs) fight for their customers’ attention, looking for ways to make them stay and purchase more services. One way to encourage that behavior is to develop a dependable brand of prod…
Is your company's data protection keeping pace with virtualization? Here are 7 dynamic ways to adapt to rapid breakthroughs in technology.
This video discusses moving either the default database or any database to a new volume.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…