<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4139684940474262193</id><updated>2012-02-16T07:43:01.947-08:00</updated><category term='Writing'/><category term='SQL'/><category term='Oracle'/><title type='text'>Jonathan Gennick</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-6013800937936848776</id><published>2012-01-12T05:37:00.000-08:00</published><updated>2012-01-12T05:37:10.896-08:00</updated><title type='text'>You've Got Framing!</title><content type='html'>Article #5 in my series on window functions in SQL Server 2012 is about the framing clause:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/windowss05.html"&gt;You've Got Framing!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use the framing clause to cumpute running sums, moving averages, and to otherwise answer questions by examining data as it moves through a frame of reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-6013800937936848776?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/6013800937936848776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2012/01/youve-got-framing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/6013800937936848776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/6013800937936848776'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2012/01/youve-got-framing.html' title='You&apos;ve Got Framing!'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-6743183988478401239</id><published>2012-01-02T11:23:00.000-08:00</published><updated>2012-01-02T11:23:37.024-08:00</updated><title type='text'>Pulling Rank for the Boss</title><content type='html'>Here's an article showing how to attack business questions involving words or&lt;br /&gt;phrases such as "topmost" or "bottommost", &amp;nbsp;"top N" or "bottom N", or that are&lt;br /&gt;otherwise answerable by ranking the rows in a result set according to some&lt;br /&gt;criteria that you can apply to one or more columns of data.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/windowss04.html"&gt;Pulling Rank for the Boss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This article is fourth on my series covering the use of window functions in SQL Server 2012. This article goes over the use of ROW_NUMBER, RANK, and DENSE_RANK. They are similar functions providing slightly different ways to rank rows in a result set with respect to one another.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-6743183988478401239?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/6743183988478401239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2012/01/pulling-rank-for-boss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/6743183988478401239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/6743183988478401239'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2012/01/pulling-rank-for-boss.html' title='Pulling Rank for the Boss'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-7734057290351206437</id><published>2011-12-07T04:51:00.001-08:00</published><updated>2011-12-07T04:54:25.929-08:00</updated><title type='text'>Interlude: The Mechanics of Window Functions and How They Work</title><content type='html'>I interrupt my business-case-driven series on window functions with a detailed look at how they are evaluated in the context of a SELECT statement. It's important to understand when these useful functions are executed, because that &lt;i&gt;when &lt;/i&gt;has implications on the data available.&lt;br /&gt;&lt;br /&gt;Link to the article:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/windowss03.html"&gt;Interlude: The Mechanics of Window Functions and How They Work&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The idea hit me on a long car drive. I hope you enjoy the result.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-7734057290351206437?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/7734057290351206437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2011/12/interlude-mechanics-of-window-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/7734057290351206437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/7734057290351206437'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2011/12/interlude-mechanics-of-window-functions.html' title='Interlude: The Mechanics of Window Functions and How They Work'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-2856329170509178643</id><published>2011-11-21T05:36:00.001-08:00</published><updated>2011-11-21T05:37:22.144-08:00</updated><title type='text'>H.G. Wells and SQL: Travelling in the Second Dimension</title><content type='html'>I should have spent yesterday working on a troublesome project at the office, but I badly needed a break from working on weekends and felt on a roll with my series on window functions, so I took the day and had some "fun" with LAG and LEAD. Here is a link to my results:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/windowss02.html"&gt;H.G. Wells and SQL: Travelling in the Second Dimension&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the second in my series of articles on window functions in SQL Server 2012.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-2856329170509178643?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/2856329170509178643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2011/11/hg-wells-and-sql-travelling-in-second.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/2856329170509178643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/2856329170509178643'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2011/11/hg-wells-and-sql-travelling-in-second.html' title='H.G. Wells and SQL: Travelling in the Second Dimension'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-3227640681745503728</id><published>2011-11-19T18:26:00.001-08:00</published><updated>2011-11-19T18:27:39.885-08:00</updated><title type='text'>Detail in the Aggregate</title><content type='html'>Work has been crazy. It's taken me longer than expected. But finally, I've written and published the first of what I plan to be a series of articles on SQL window functions:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/windowss01.html"&gt;Detail in the Aggregate&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This series is motivated by the increased support for window functions that we can look forward to in SQL Server 2012.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-3227640681745503728?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/3227640681745503728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2011/11/detail-in-aggregate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/3227640681745503728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/3227640681745503728'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2011/11/detail-in-aggregate.html' title='Detail in the Aggregate'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-1311810777212385116</id><published>2011-10-16T14:58:00.000-07:00</published><updated>2011-10-16T14:58:30.538-07:00</updated><title type='text'>I versus We: Avoiding the Majestic Plural</title><content type='html'>Felt like writing today, so I whipped up a little piece on the topic of "I" versus "we" in instructional writing:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/we.html"&gt;http://gennick.com/we.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-1311810777212385116?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/1311810777212385116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2011/10/i-versus-we-avoiding-majestic-plural.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/1311810777212385116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/1311810777212385116'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2011/10/i-versus-we-avoiding-majestic-plural.html' title='I versus We: Avoiding the Majestic Plural'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-1502224673262384097</id><published>2011-05-13T17:07:00.000-07:00</published><updated>2011-05-13T17:07:01.533-07:00</updated><title type='text'>SQL Rally 2011</title><content type='html'>I'm sitting here in my hotel room resting after one of the best conferences I've&amp;nbsp;attended in years -- &lt;a href="http://www.sqlpass.org/sqlrally/2011/orlando/"&gt;SQL Rally 2011&lt;/a&gt;. Forget that I'm a computer-book editor supposedly&amp;nbsp;on the prowl for new author talent. My trip to the Rally was a chance to hark back to&amp;nbsp;my roots as developer and DBA. The sessions were uniformally good and held my&amp;nbsp;attention. Here are some highlights from Thursday:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tim Mitchell gave an excellent talk comparing ETL done with SSIS versus with T-SQL.&amp;nbsp;Tim proposed various data load scenarios and compared the SSIS solutions with the T-SQL&amp;nbsp;solutions. I liked what I saw of the SSIS GUI interface, and I wish something that&amp;nbsp;elegant had been available way back in the day when I was doing ETL into Oracle. Tim's&amp;nbsp;scenarios were realistic. I liked that he ran actual tests and showed the actual&amp;nbsp;results.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Next up was lunch, and possibly my only bad decision at the Rally. I choose the&amp;nbsp;chicken sandwich ahead of the beef sandwhich and wound up with a one-inch thick slab of&amp;nbsp;chicken-breast between two slices of bread. Hint: my mouth isn't that big. LOL! Well,&amp;nbsp;if a too-thick slab of chicken is all I can complain about, you know the event was&amp;nbsp;good.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;After lunch came Scott Shaw's presentation "The Enterprise SQL Server DBA". (Thank&amp;nbsp;you Scott, for adding the word "Server" after "SQL" at the very last minute). Scott had&amp;nbsp;some good wisdom to offer on forming DBA teams in the enterprise, on presenting a&amp;nbsp;uniform team face to the rest of the company, on mentoring the less experienced DBAs,&amp;nbsp;and much more. Scott also spoke about the challenges of managing a mixed environment&amp;nbsp;with databases going back as far as SQL Server 2000. He even has one instance that runs&amp;nbsp;in 6.5 compatibility mode. If I had to pick a favorite session from Thursday, I'd give&amp;nbsp;the nod to Scott's.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;My other Thursday session was "DBA Disaster Recovery Techniques to Keep Handy" by&amp;nbsp;Edwin Sarmiento of &lt;a href="http://www.pythian.com/"&gt;The Pythian Group&lt;/a&gt;&amp;nbsp;watching him run his demo, you know&amp;nbsp;that he is comfortable with recovery and the pressures that go with it. Get his phone&amp;nbsp;number and keep it handy against the day when you're up against the wall in a recovery&amp;nbsp;nightmare. Terms to remember from his talk: "Recovery Point Objective" and "Recovery&amp;nbsp;Time Objective".&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Friday I took a cab in rather than walking the three miles from my hotel. I like to&amp;nbsp;walk, but Florida is hot, hot, hot, and I didn't want to arrive a sweat-soaked mess.&amp;nbsp;Besides, the breakfast was better at the conference hotel.&lt;br /&gt;&lt;br /&gt;As luck would have it, Louis&amp;nbsp;Davidson found me whilst I was lingering over my morning coffee at the hotel restaurant. That was a bit of good fortune. It's always nice to see a familiar face,&amp;nbsp;and I'd been hoping to catch him to talk about his upcoming new edition of &lt;i&gt;&lt;a href="http://www.amazon.com/Server-Relational-Database-Implementation-Experts/dp/143020866X/ref=sr_1_1?ie=UTF8&amp;amp;qid=1305331499&amp;amp;sr=8-1"&gt;Pro SQL Server Database Design&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Session highlights from Friday:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kendra Little, "Big and Tall: When to Partition". I had forgotten -- did I ever know?&amp;nbsp;-- that SQL Server supports partitioning. One difference from Oracle Database is that&amp;nbsp;in SQL Server every table is considered as being partitioned. It's just that many&amp;nbsp;tables have only one partition. I like the simple elegance in that line of thinking. A&amp;nbsp;question I have for Kendra is to ask why LEFT partitioning is the default when it seems&amp;nbsp;like RIGHT partitioning makes more sense.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;John Sterret's talk on Policy-Based Management. I tried, I really tried to attend&amp;nbsp;this session. I went in. I sat down. John began. But I got a phone call, hit the&amp;nbsp;"ignore" button, the caller tried again, I hit the "ignore" button again. When the&amp;nbsp;third try came, I figured maybe I should take the call.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Thomas Grohser's talk "SQL Server Storage Engine under the hood" was my next session.&amp;nbsp;(Oh, my lunch choice today was much better. Very good lunch). Thomas got into the&amp;nbsp;nitty-gritty on how SQL Server does I/O. 8KB page sizes. 64KB allocation units.&amp;nbsp;Checkpoints. Good stuff in this talk.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I enjoyed the Rally. There was a good vibe. The crowd was small enough that one could&amp;nbsp;catch speakers in the hallway to ask follow-up questions or just to rub shoulders a&amp;nbsp;bit. And not one session did I regret attending. SQL Rally is now on my short-list of&amp;nbsp;"must attend" conferences for 2012.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-1502224673262384097?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/1502224673262384097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2011/05/sql-rally-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/1502224673262384097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/1502224673262384097'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2011/05/sql-rally-2011.html' title='SQL Rally 2011'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-7088291281665162926</id><published>2010-11-25T19:37:00.000-08:00</published><updated>2010-11-26T08:22:40.454-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><title type='text'>Example Book Proposal</title><content type='html'>Following is a link to an example book proposal that I've just finished crafting. It's the result of many an evening, and most of my Thanksgiving Day afternoon. I'm pretty happy at how it came out. If you have aspirations to write, I believe you'll find it helpful.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/ExampleProposal.html"&gt;http://gennick.com/ExampleProposal.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-7088291281665162926?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/7088291281665162926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2010/11/example-book-proposal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/7088291281665162926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/7088291281665162926'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2010/11/example-book-proposal.html' title='Example Book Proposal'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4139684940474262193.post-4005180722229046820</id><published>2010-11-14T17:45:00.000-08:00</published><updated>2010-11-14T17:45:57.316-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Returning the Days in a Month, Revisited!</title><content type='html'>Thanks to Anton Zlygostev, I've just published a new version of my article on writing a query to return one row for each day in the current month:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gennick.com/days_in_month_query.html"&gt;http://gennick.com/days_in_month_query.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I first wrote the article some ten years ago, in June 2000. I hadn't thought about it in years, until Anton wrote to point out a much more elegant solution than the two that I first proposed. He graciously allowed me to post his solution in a revised version of my article.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4139684940474262193-4005180722229046820?l=jonathangennick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonathangennick.blogspot.com/feeds/4005180722229046820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jonathangennick.blogspot.com/2010/11/returning-days-in-month-revisited.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/4005180722229046820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4139684940474262193/posts/default/4005180722229046820'/><link rel='alternate' type='text/html' href='http://jonathangennick.blogspot.com/2010/11/returning-days-in-month-revisited.html' title='Returning the Days in a Month, Revisited!'/><author><name>Jonathan Gennick</name><uri>http://www.blogger.com/profile/07525507094070349432</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
