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
Solved

String selection charindex

Posted on 2006-06-28
2
437 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
  • 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
group by and where clauses 3 557
How do I get SCOPE_IDENTITY working correctly. 3 859
SQL Query  Syntax 3 89
Cluster Resource error 3 69
If you are looking at this article, you have most likely been hit by some version of ransomware and are trying to find out if there is anything you can do, or what way you should react - READ ON!
Most MSPs worth their salt are already offering cybersecurity to their customers. But cybersecurity as a service is wide encompassing and can mean many things.  So where are MSPs falling in this spectrum?
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

828 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