<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MySQL Preacher &#187; select</title>
	<atom:link href="http://mysqlpreacher.com/wordpress/tag/select/feed/" rel="self" type="application/rss+xml" />
	<link>http://mysqlpreacher.com/wordpress</link>
	<description>Because Sharing is Caring</description>
	<lastBuildDate>Mon, 26 Sep 2011 23:34:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Running a case sensitive query in on a case insensitive table</title>
		<link>http://mysqlpreacher.com/wordpress/2009/08/running-a-case-sensitive-query-in-on-a-case-insensitive-table/</link>
		<comments>http://mysqlpreacher.com/wordpress/2009/08/running-a-case-sensitive-query-in-on-a-case-insensitive-table/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 16:54:47 +0000</pubDate>
		<dc:creator>Darren Cassar</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[case insensitive]]></category>
		<category><![CDATA[case sensitivity]]></category>
		<category><![CDATA[collation]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[temporary table]]></category>

		<guid isPermaLink="false">http://mysqlpreacher.com/wordpress/?p=275</guid>
		<description><![CDATA[A colleague at work asked me "how can I run a case sensitive select on a case insensitive table?" out of curiosity and for a moment I hesitated, then said, yeah why not :) ....]]></description>
			<content:encoded><![CDATA[<p>A colleague at work asked me &#8220;how can I run a case sensitive select on a case insensitive table?&#8221; out of curiosity and for a moment I hesitated, then said, yeah why not :) &#8230;.</p>
<p>Below are two different approaches (one of which is quite inefficient) and if anyone has another way, better or worse, please do leave a comment with your suggested approach :).</p>
<p>Cheers,<br />
Darren<br />
<br /><br /><br />
<strong>Preparation</strong></p>
<blockquote><p><code lang="sql"><br />
mysql [localhost] {root} (test) > create table t1(a varchar(20));<br />
Query OK, 0 rows affected (0.02 sec)</p>
<p>mysql [localhost] {root} (test) > insert into t1 (a) values ('darren');<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > insert into t1 (a) values ('Darren');<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > insert into t1 (a) values ('DarRen');<br />
Query OK, 1 row affected (0.00 sec)<br />
</code></p></blockquote>
<p><br /><br /><br />
<strong>Method 1</strong><br /><br /></p>
<blockquote><p><code lang="sql"></p>
<p>mysql [localhost] {root} (test) > select * from t1 where a ='darren';<br />
+--------+<br />
| a      |<br />
+--------+<br />
| darren |<br />
| Darren |<br />
| DarRen |<br />
+--------+<br />
3 rows in set (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > create temporary table t3(a varchar(20)) Engine=MyISAM , COLLATE latin1_general_cs;<br />
Query OK, 0 rows affected (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > insert into t3 select * from t1;<br />
Query OK, 3 rows affected (0.00 sec)<br />
Records: 3  Duplicates: 0  Warnings: 0</p>
<p>mysql [localhost] {root} (test) > select * from t3 where a ='darren';<br />
+--------+<br />
| a      |<br />
+--------+<br />
| darren |<br />
+--------+<br />
1 row in set (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > select * from t3 where a ='Darren';<br />
+--------+<br />
| a      |<br />
+--------+<br />
| Darren |<br />
+--------+<br />
1 row in set (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > select * from t3 where a ='DarreN';<br />
Empty set (0.00 sec)</p>
<p></code></p></blockquote>
<p><br /><br /><br />
<strong>Method 2</strong><br /><br /></p>
<blockquote><p><code lang="sql"></p>
<p>mysql [localhost] {root} (test) > select * from t1 where CONVERT(a USING latin1) COLLATE latin1_general_cs ='darren';<br />
+--------+<br />
| a      |<br />
+--------+<br />
| darren |<br />
+--------+<br />
1 row in set (0.00 sec)</p>
<p>mysql [localhost] {root} (test) > select * from t1 where CONVERT(a USING latin1) COLLATE latin1_general_cs ='Darren';<br />
+--------+<br />
| a      |<br />
+--------+<br />
| Darren |<br />
+--------+<br />
1 row in set (0.00 sec)</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mysqlpreacher.com/wordpress/2009/08/running-a-case-sensitive-query-in-on-a-case-insensitive-table/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

