<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jayme Davis' WebLog : Database</title><link>http://weblogs.asp.net/jdavis/archive/tags/Database/default.aspx</link><description>Tags: Database</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Grant me the serenity.... SQL crosstabs</title><link>http://weblogs.asp.net/jdavis/archive/2003/09/05/26472.aspx</link><pubDate>Fri, 05 Sep 2003 15:11:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:26472</guid><dc:creator>jayme_davis@dell.com</dc:creator><author>jayme_davis@dell.com</author><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jdavis/rsscomments.aspx?PostID=26472</wfw:commentRss><comments>http://weblogs.asp.net/jdavis/archive/2003/09/05/26472.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Ever noticed what a pain building crosstabs in SQL can be?... sure, you can buy 3rd party products to do it for you (even some that are only $39), but what if you want to do it yourself? MS Access has the TRANSFORM function that makes life easy.... why not SQL? There are some great articles on various sites with methods to use (such as &lt;/font&gt;&lt;a href="http://www.fawcette.com/vsm/2002_04/online/online_eprods/c_rjennings_4_29/"&gt;&lt;font face="Tahoma" size="2"&gt;this&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt;), but you'd think SQL would have a built in function... (don't let us down Yukon).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Jayme&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=26472" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jdavis/archive/tags/Database/default.aspx">Database</category></item><item><title>ParseNameString</title><link>http://weblogs.asp.net/jdavis/archive/2003/06/17/8833.aspx</link><pubDate>Tue, 17 Jun 2003 18:40:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:8833</guid><dc:creator>jayme_davis@dell.com</dc:creator><author>jayme_davis@dell.com</author><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jdavis/rsscomments.aspx?PostID=8833</wfw:commentRss><comments>http://weblogs.asp.net/jdavis/archive/2003/06/17/8833.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Well, I'm pretty sure someone is going to tell me I didn't have to do this complicated way, but.. too late! :) I looked around the internet for a SQL parsing function that would parse to proper capitilization, but no luck. I'm lazy, so I decided too write it...&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;All the name fields in a SQL database I'm working with are all ucase. I wrote this SQL function to parse out proper capitilization for spaces, hyphens, apostrophes, etc... For instance, "MCDONALDS" would parse to "McDonalds"... the only problem is names like "de la Jose" or "von Mirkin" would parse out as "De La Jose" and "Von Mirkin". Even though this problem exist, it's a lot better than it was. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt;CREATE FUNCTION [dbo].[ParseNameString] (@text VARCHAR(50))&lt;br /&gt;RETURNS VARCHAR(50)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt;BEGIN&lt;br /&gt; DECLARE @n INT&lt;br /&gt; SET @n = 1&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt; DECLARE @newstring VARCHAR(50)&lt;br /&gt; SET @newstring = ''&lt;br /&gt; &lt;br /&gt; SET @text = UPPER(LEFT(@text, 1)) + LOWER(RIGHT(@text, LEN(@text) - 1))&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt; -- start string building loop&lt;br /&gt; WHILE (@n &amp;lt; LEN(@text) + 1)&lt;br /&gt; BEGIN&lt;br /&gt;  IF(SUBSTRING(@text, @n, 1) = 'M')&lt;br /&gt;  BEGIN&lt;br /&gt;   -- McXXXXX&lt;br /&gt;   IF(SUBSTRING(@text, @n + 1, 1) = 'c')&lt;br /&gt;   BEGIN&lt;br /&gt;    &lt;br /&gt;    SET @newstring = @newstring + 'Mc' + UPPER(SUBSTRING(@text, @n + 2, 1))&lt;br /&gt;    SET @n = @n + 3&lt;br /&gt;   END&lt;br /&gt;   -- name MacXXXXX&lt;br /&gt;   IF(SUBSTRING(@text, @n + 1, 1) = 'a')&lt;br /&gt;   BEGIN&lt;br /&gt;    IF(SUBSTRING(@text, @n + 2, 1) = 'c')&lt;br /&gt;    BEGIN&lt;br /&gt;     SET @newstring = @newstring + 'Mac' + UPPER(SUBSTRING(@text, @n + 3, 1))&lt;br /&gt;     SET @n = @n + 4&lt;br /&gt;    END&lt;br /&gt;   END&lt;br /&gt;  END&lt;br /&gt;  -- apost. in the name (exmple: O'Sullivan)&lt;br /&gt;  IF (SUBSTRING(@text, @n, 1) = '''')&lt;br /&gt;  BEGIN&lt;br /&gt;   SET @newstring = @newstring + SUBSTRING(@text, @n, 1) + UPPER(SUBSTRING(@text, @n + 1, 1))&lt;br /&gt;   SET @n = @n + 1&lt;br /&gt;  END&lt;br /&gt;   ELSE&lt;br /&gt;  -- space in the last name&lt;br /&gt;  IF(SUBSTRING(@text, @n, 1) = ' ')&lt;br /&gt;  BEGIN&lt;br /&gt;   SET @newstring = @newstring + SUBSTRING(@text, @n, 1) + UPPER(SUBSTRING(@text, @n + 1, 1))&lt;br /&gt;   SET @n = @n + 1&lt;br /&gt;  END&lt;br /&gt;   ELSE&lt;br /&gt;  -- hyphen in the last name&lt;br /&gt;  IF(SUBSTRING(@text, @n, 1) = '-')&lt;br /&gt;  BEGIN&lt;br /&gt;   SET @newstring = @newstring + SUBSTRING(@text, @n, 1) + UPPER(SUBSTRING(@text, @n + 1, 1))&lt;br /&gt;   SET @n = @n + 1&lt;br /&gt;  END&lt;br /&gt;   ELSE&lt;br /&gt;  BEGIN&lt;br /&gt;   SET @newstring = @newstring + SUBSTRING(@text, @n, 1)&lt;br /&gt;  END&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt;  SET @n = @n + 1&lt;br /&gt; END  &lt;br /&gt; &lt;br /&gt; -- return the newly built string&lt;br /&gt; RETURN @newstring&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="blue" size="2"&gt;END&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8833" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jdavis/archive/tags/Database/default.aspx">Database</category></item><item><title>SQL Compare tools</title><link>http://weblogs.asp.net/jdavis/archive/2003/06/13/8661.aspx</link><pubDate>Fri, 13 Jun 2003 15:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:8661</guid><dc:creator>jayme_davis@dell.com</dc:creator><author>jayme_davis@dell.com</author><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jdavis/rsscomments.aspx?PostID=8661</wfw:commentRss><comments>http://weblogs.asp.net/jdavis/archive/2003/06/13/8661.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Dealing with 10+ databases, terabytes of data, and enormous DTS packages on a daily basis, I couldn't live without a SQL database comparison tool. I was reading an &lt;/font&gt;&lt;a href="http://www.sql-server-performance.com/sql_server_compare_review.asp"&gt;&lt;font face="Tahoma" size="2"&gt;article&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt; about Red Gate software's &lt;/font&gt;&lt;a href="http://www.red-gate.com/sql_tools.htm"&gt;&lt;font face="Tahoma" size="2"&gt;SQL tools&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt; suite which includes SQL Compare (database structures/schemas), SQL Data Compare (content/data), and DTS Compare (dts packages, logins, jobs, and version info). I've used &lt;/font&gt;&lt;a href="http://www.adeptsql.com"&gt;&lt;font face="Tahoma" size="2"&gt;AdeptSQL&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt; for a long time now, but it just doesn't cut it for everything...&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Jayme&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8661" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jdavis/archive/tags/Database/default.aspx">Database</category></item><item><title>Teradata</title><link>http://weblogs.asp.net/jdavis/archive/2003/06/05/8338.aspx</link><pubDate>Fri, 06 Jun 2003 04:59:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:8338</guid><dc:creator>jayme_davis@dell.com</dc:creator><author>jayme_davis@dell.com</author><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jdavis/rsscomments.aspx?PostID=8338</wfw:commentRss><comments>http://weblogs.asp.net/jdavis/archive/2003/06/05/8338.aspx#comments</comments><description>&lt;font face="Tahoma" size="2"&gt;I'm curious if any of the 3 people reading this blog have ever used &lt;/font&gt;&lt;a href="http://www.teradata.com/main/"&gt;&lt;font face="Tahoma" size="2"&gt;teradata&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt; with .NET... or for that matter, used teradata for warehouse solutions. With Oracle, SQL DCE, Teradata, and the others available today, what *really* performs the best? (stable, fast, etc..) &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Jayme&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8338" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jdavis/archive/tags/Database/default.aspx">Database</category></item></channel></rss>