Microsoft hates America!

The other day, I ran into a situation with a date field on a Website. Someone who I was telling about the issue (it involved ColdFusion and a valid time value) was inspired to research valid date-time fields in databases. And, as it turns out, Microsoft SQL Server has date limitations.

For instance, you can’t store a date prior to January 1, 1753 in a Microsoft SQL database.
You may ask, why would I want to store a date prior to January 1, 1753 in a database? Well, if your database is on American history, or about great Americans, then you just might need that.

George Washington’s birthday was February 22, 1732 (or, February 11, 1731 O.S.) — which means you can’t store George Washington’s birthday in a Microsoft database!

The Father of our Country! First in war, first in peace, first in the hearts of his countrymen! Our nation’s first president under the Constitution! Microsoft won’t let you store his birthday in their databases? That’s outrageous!

Why does Microsoft hate America?

36 Comments

  1. …because to Microsoft, history began the day they released their first version of Windows. Interestingly, making excuses for a product that didn’t do what it promised began the next day.

  2. Microsoft writes ‘software?’

    I thought they wrote error handlers.

    “Internet Explorer has caused a fatal error and needs to shut down. What would you like to do? (a) Shut it down; (b) Let it sit there and hang itself; (c) Burn it; (d) Kick Steve Balmer’s ass; (e) Throw a chair. Please (do) (don’t) tell Microsoft about this problem. [Yes] {No] [Cancel] [Screw you!]”

  3. Well, you can still store those dates in the database – just not all in the same field. Set up a field for each date part: month, day and year and you’re good to go.

    [You’ve proved my point. You have to store parts of George Washington’s birthday. You can’t store the whole date. Because Microsoft hates America. – B.]

  4. You Apple guys are insufferable.

    I only use Microsoft because I’m lazy and don’t care. Give me a break.

    [Apple guys? Okay, I have a MacBook, an iPod (old wheel type), and an iPad.

    But … I also have a Dell laptop, a Gateway laptop, 2 Dell netbooks, run Windows XP and Windows 7. And manage 4 Windows Web servers, and 4 Windows SQL servers.

    I’ve run MS-DOS from 2.11 and Windows from 2.03 …

    So, your statement “You Apple guys are insufferable” is totally wrong.

    You should have said “You Apple and Microsoft guys are insufferable.” – B.]

  5. So store it as a varchar and cast as datetime on the way out. Duh.

    [Of course. I’m actually doing that for some values in some databases with which I work — validating as date-time before storing, storing in a varchar field, then converting to date-time when queried.

    It’s just that Microsoft hate America. – B.]

  6. [ ] Always show me this message.
    [ ] Show me this message at start-up only.
    [ ] Don’t show me this message again.
    [ ] Always trust Microsoft products.

    [ ] Warn me when valid digital signatures for sites that fail to present valid or current certificates from signatories whose registrations have expired are not present.
    [ ] Just go to the most trusted site.
    [ ] Apply [ ] Cancel [ ] Close [ ] Reset Defaults [ ] Ignore

  7. They changed the way a datetime is stored `cuz most folks don’t have a crapload of dates from before the country was formed – so most people will have faster DBs that take up less disk. For folks who are doing genealogical studies, they can use datetime_b, which will hold year values even as low as the IQ of typical, stinkin’ Mac user. 😉

    [MS SQL doesn’t support a “datetime_b” format. There are examples using that syntax, but the upshot of those is that it’s actually a varchar field. MS SQL 2008 does support a “date” format (dates only, no time within the value stored) that goes to January 1, 1 AD.

    Since Jesus was born somewhere from 4-7 BC, this means that Microsoft hates Baby Jesus!

    Oh, and if Oracle can support dates to 4700 BC, so could Microsoft. – B.]

  8. Or.. you could store the date as a varchar value. Just saying…

    [Or, you could read all the previous comments where that was covered, and that it doesn’t change the fact that Microsoft won’t store George Washington’s birthday at a datetime field in SQL Server databases. Because Microsoft hates America. Just saying… – B.]

  9. I have no problem believing Microsoft hates me, I mean America. I think the blue screen of death is really subliminal advertising for the Democratic Party. I mean ask yourself why isn’t there a Red screen of death? Damn liberals.

  10. You should have said “You Apple and Microsoft guys are insufferable.”

    You should have said “All fanboys You Apple and Microsoft guys are insufferable.”

    FIFY

    Software and hardware choices are based on requirements and fitness for use. By the way, I normally use Linux; however, I use Windows for graphics software, and I’ve done a small amount of testing and troubleshooting on Macs. I have recommended each based on user needs.

    On the other hand, hating a particular piece of software or hardware is perfectly acceptable. As far as MS SQL goes, in an MS shop, you could use .NET. I hear it goes all the way back to 1.1.0001 A.D. That covers US presidents, but not Pharaohs. If your user requirements don’t include Pharaohs, you’re A-OK.

  11. I realize this is not going to win me friends or influence anyone but Microsoft/Bill Gates is the devil which is why I have a Mac. I realize Jobs is not much better but I don’t have problems with my Mac as often as I do with the PC’s in my place of business. Everyday I come home and pat my Mac on the top of it’s screen and thank it for being there.

    I really do. Of course most days I threaten to throw my PC out the window. What stops me? I work on the first floor in a room with no windows. It would be an expensive and impotent action, but It would be ever so satisfying.

  12. Why would anyone develop a new app on Microsoft’s products unless some pointyhaired boss was mandating it from above?

    Seriously. They cost a very non-trivial amount of money to license and don’t provide any functionality for a web application you can’t get elsewhere. For a desktop app you still don’t need SQL Server, Postgresql and the other free databases all do OBDC.

    [The boss isn’t pointy-haired. He doesn’t have enough hair to make into a point. – B.]

  13. From Wikipedia:
    Britain and the British Empire (including the eastern part of what is now the United States) adopted the Gregorian calendar in 1752 by which time it was necessary to correct by 11 days. Wednesday, 2 September 1752 was followed by Thursday, 14 September 1752.

    I still want my eleven days back! Reparations! Reparations!

  14. [Yeah, we covered that. Dates only go back to 1 AD. It doesn’t cover the birth of Christ. SQL 2008 hates Baby Jesus! – B.]

    There’s no year zero in BC/AD dating. If we want to accept an 6th century eastern European monk’s estimate of the year of Christ’s birth, then He was born in 1 AD.

    [But the monk was wrong. As covered here, Jesus was actually born from 4-7 BC, not 1 AD. – B.]

  15. Wrong! Haters!

    The date data type stores a date without a time component. The range is from January 1, 1000 though December 31, 9999 (0001-01-01 through 9999-12-31). Each date variable requires 3 bytes of storage and has a precision of 10 digits. The accuracy of the date type is limited to a single day.

    http://technet.microsoft.com/en-us/magazine/2008.04.datatypes.aspx

    [We covered that here and here.

    Microsoft datetime field won’t cover George Washington’s birthday. And their date field (as we said earlier) won’t cover Jesus’s birthday. Because Microsoft hates America. And Baby jesus.

    Since we covered the difference between the date and datetime field earlier, it seems that you don’t pay attention. You must have voted for Obama. People that voted for Obama don’t pay attention, either. – B.]

  16. Luke’s account places Jesus’ birth during a census conducted under the governorship of Quirinius, who, according to Josephus, conducted a census in AD 6. Now, some have suggested that Josephus was mistaken, or that the dating of Herod the Great’s reign was around 6 BC, but they’re just Microsoft haters.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.