Connecting Tech Pros Worldwide Help | Site Map

Truncate text in table? (ie 101928494 will become 928494)

 
LinkBack Thread Tools Search this Thread
  #1  
Old August 19th, 2008, 11:25 AM
aenriquez@gmail.com
Guest
 
Posts: n/a
Default Truncate text in table? (ie 101928494 will become 928494)

Lets say I have a column with the following text in 5 rows:

1015758349
10147594734
10173
101288
1019384048

I'd like to run a MSSQL command (if possible) to take out the '101'
from every single row. Is there a command for this?

Thanks

  #2  
Old August 19th, 2008, 11:35 AM
Helmut Woess
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

Am Tue, 19 Aug 2008 04:18:49 -0700 (PDT) schrieb aenriquez@gmail.com:
Quote:
Lets say I have a column with the following text in 5 rows:
>
1015758349
10147594734
10173
101288
1019384048
>
I'd like to run a MSSQL command (if possible) to take out the '101'
from every single row. Is there a command for this?
>
Thanks
if it is datatype varchar just do a:
update table set field = substring(field,4,99)

bye,
Helmut
  #3  
Old August 19th, 2008, 12:05 PM
Roy Harvey (SQL Server MVP)
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

On Tue, 19 Aug 2008 04:18:49 -0700 (PDT), aenriquez@gmail.com wrote:
Quote:
>Lets say I have a column with the following text in 5 rows:
>
>1015758349
>10147594734
>10173
>101288
>1019384048
>
>I'd like to run a MSSQL command (if possible) to take out the '101'
>from every single row. Is there a command for this?
If you always want the first three characters removed you could use
SUBSTRING and specify 4 as the start column.

If you want to actually update the table and change those rows, you
might look at something like:

UPDATE Whatever
SET Something = SUBSTRING(Something,4,100)
WHERE Something IN
('1015758349', '10147594734', '10173', '101288', '1019384048')

Roy Harvey
Beacon Falls, CT
  #4  
Old August 19th, 2008, 12:35 PM
aenriquez@gmail.com
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

On Aug 19, 2:00*pm, "Roy Harvey (SQL Server MVP)"
<roy_har...@snet.netwrote:
Quote:
On Tue, 19 Aug 2008 04:18:49 -0700 (PDT), aenriq...@gmail.com wrote:
Quote:
Lets say I have a column with the following text in 5 rows:
>
Quote:
1015758349
10147594734
10173
101288
1019384048
>
Quote:
I'd like to run a MSSQL command (if possible) to take out the '101'
from every single row. Is there a command for this?
>
If you always want the first three characters removed you could use
SUBSTRING and specify 4 as the start column.
>
If you want to actually update the table and change those rows, you
might look at something like:
>
UPDATE Whatever
SET Something = SUBSTRING(Something,4,100)
WHERE Something IN
* * *('1015758349', '10147594734', '10173', '101288', '1019384048')
>
Roy Harvey
Beacon Falls, CT
Yes, I want to update the table ideally without changing the string
length for any of the rows. Maybe a REPLACE will work better.
  #5  
Old August 19th, 2008, 01:05 PM
Plamen Ratchev
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

Another method:

UPDATE Foo
SET col = STUFF(col, 1, 3, '')
WHERE col LIKE '101%';


Plamen Ratchev
http://www.SQLStudio.com
  #6  
Old August 19th, 2008, 09:25 PM
Erland Sommarskog
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

(aenriquez@gmail.com) writes:
Quote:
Yes, I want to update the table ideally without changing the string
length for any of the rows. Maybe a REPLACE will work better.
You can use substring(col, 4, len(col)) to overcome that issue.

--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000: http://www.microsoft.com/sql/prodinf...ons/books.mspx

  #7  
Old August 20th, 2008, 01:15 PM
aenriquez@gmail.com
Guest
 
Posts: n/a
Default Re: Truncate text in table? (ie 101928494 will become 928494)

On Aug 19, 11:06*pm, Erland Sommarskog <esq...@sommarskog.sewrote:
Quote:
*(aenriq...@gmail.com) writes:
Quote:
Yes, I want to update the table ideally without changing the string
length for any of the rows. Maybe a REPLACE will work better.
>
You can use substring(col, 4, len(col)) to overcome that issue.
>
--
Erland Sommarskog, SQL Server MVP, esq...@sommarskog.se
>
Links for SQL Server Books Online:
SQL 2008:http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005:http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000:http://www.microsoft.com/sql/prodinf...ons/books.mspx
Thanks all. This query worked perfectly for me:
UPDATE tablename
Set field = SUBSTRING(field,3,len(field))
WHERE (field like '10%')
 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.