Solved

Case sensitive SQL search

Posted on 2003-11-13
5
705 Views
Last Modified: 2010-04-17
I have a SQL server 2000 installation which is setup without a Case Sensitive collation. I was wondering does anyone know how I can perform a case sensitive search on the following:

SELECT     *
FROM         Descrip
WHERE     Col002 =  'Y71Xe' AND Col003 = 'P'

I have tried the following, but cannot seem to get it to work:

SELECT     *
FROM         Descrip
WHERE     (Col002 = CONVERT(varbinary, 'Y71Xe')) AND (Col003 = 'P')

In addition I will need to perform a table join with case sensitivity on the joining column.

Any Ideas? Cheers
0
Comment
Question by:paulsidebottom
  • 3
  • 2
5 Comments
 
LVL 7

Expert Comment

by:wsteegmans
ID: 9738633
Try something like this:

for Col002 declared as varchar(xx)
select * from Descrip where CAST(Col002 as BINARY(35))=CAST( 'Y71Xe' as BINARY(35) )

for Col002 declared as nvarchar(xx)
select * from Descrip where CAST(Col002 as BINARY(35))=CAST( N'Y71Xe' as BINARY(35) )

About your JOIN-question: maybe, because you need a lot of Case Senstive features, isn't it an option to upgrade your SQL-Server to Case Sensitive mode? You stay generating 'work-arrounds'.
0
 
LVL 1

Author Comment

by:paulsidebottom
ID: 9738716
The work I am doing will involve multiple remote sites, running live databases, unfortuantely it will not be possible to take the database down to reinstall SQL Server. However, I do not anticpiate that this query will be executed often.

Onto the code...

The query you gave me worked brilliantly, one final question (and the points are yours ;-)).

I have another table (TermV3) which contains a description column and a TermID column.

When querying the description column (with a LIKE query) I wish to pass the associated TermID into the query you previously helped with ie. in place of the code Y71Xe held in the termID column (presumably I need to join the tables on the the TermID column).

Any help greatly appreciated.
0
 
LVL 7

Accepted Solution

by:
wsteegmans earned 125 total points
ID: 9738861
Try something like this ...
** I was not able to test it, so just give it a try **

Select * from Descrip, TermV3
Where TermV3.Description LIKE '%Something%'
And CAST(Descrip.TermID as BINARY(35)) = CAST(TermV3.TermID as BINARY(35))
0
 
LVL 1

Author Comment

by:paulsidebottom
ID: 9738879
Thanks. I was just about to close this question as I figured it out (once brain was in gear!). The query I used was:


SELECT     TermV3.TERM60, Descrip.ReadCode
FROM         Descrip INNER JOIN
                      TermV3 ON Descrip.TermID = TermV3.TERMID AND CAST(Descrip.TermID AS BINARY(5)) = CAST(TermV3.TERMID AS BINARY(5))
WHERE     (Descrip.PreferredOrSynonym = 'P') AND (TermV3.TERM60 LIKE '%Sore Throat%')

thanks for all your help.
0
 
LVL 7

Expert Comment

by:wsteegmans
ID: 9738893
You're welcome, and thx for the points ;-)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Monitor input from a computer is usually nothing special.  In this instance it prevented anyone from using the computer.  This was a preconfiguration that didn't work.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

919 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now