Solved

String selection charindex

Posted on 2006-06-28
2
452 Views
Last Modified: 2008-01-09
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
Comment
Question by:jmp02008
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 6

Accepted Solution

by:
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

by:ChrisKing
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

[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The conference as a whole was very interesting, although if one has to make a choice between this one and some others, you may want to check out the others.  This conference is aimed mainly at government agencies.  So it addresses the various compli…
In this blog we highlight approaches to managed security as a service.  We also look into ConnectWise’s value in aiding MSPs’ security management and indicate why critical alerting is a necessary integration.
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question