• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 374
  • Last Modified:

How to match trailing whitespace

I have a field that I need to match the string however there is trailing white space on the end.

How do I grab everything that matches the expression including any trailing whitespace?

WHERE field = 'S-34.5X3.5M' should return the same result as WHERE filed LIKE 'S-34.5X3.5M' however due to the trailing white space the first returns a result while the second does not.

I do not want things like 'S-34.5X3.5MH' and 'S-34.5X3.5M R S  RM' returned
0
turn123
Asked:
turn123
  • 4
  • 3
1 Solution
 
Philippe DamervalSenior Analyst ProgrammerCommented:
Hi,
You can user LTRIM and RTRIM to remove trailing and leading spaces respectively.

HTH,

Philippe
0
 
turn123Author Commented:
Thank you Philippe.

Would you mind giving me an example of how to use this in a query using LIKE to find the correct records?
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
Sure, although the idea here is specifically not to use LIKE (in order to avoid returning the values you don't want).

SELECT field1, field2 from MYTABLE
WHERE RTRIM(field) = 'S-34.5X3.5M'

If your database is case sensitive (off by default) then you may want to use UPPER to convert all letters to uppercase first, to ensure matches for all cases:

WHERE UPPER(RTRIM(field)) = 'S-34.5X3.5M'

HTH,

Philippe
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
turn123Author Commented:
Hi Philippe,

Specifically my problem is that I need to use LIKE. The example here had the wild card replaced to show the problem (the record exists but LIKE won't pick it up even with the EXACT SAME value as the = query as due to the trailing white space).  I apologize if I was unclear.

The actual LIKE ''%-34.5X3.5M'' where % could be quite a few different values and more values could be added in the future.

Your thoughts?
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
Have you tried

WHERE UPPER(RTRIM(field)) LIKE '%-34.5X3.5M' ?
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
P.S. You can use the underscore (_) character to match a single character, as well as braces ([]) to match any character within a range. More detail, and some great examples at
http://msdn.microsoft.com/en-us/library/aa933232%28v=sql.80%29.aspx

HTH,

Philippe
0
 
turn123Author Commented:
Pefect thank you!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now