# MySQL, Oracle, and SQL Server, differences?

**URL:** <https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827>\
**Category:** Factual Questions\
**Created:** [April 12, 2007, 5:43pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827 "2007-04-12T17:43:48Z")\
**Posts on this page:** 10\
**Page:** 2

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [April 12, 2007, 10:04pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/21 "2007-04-12T22:04:08Z")

</div>

[QUOTE=crazyjoe]  
SQL Server DBA chiming in here. From my experience with MySQL, which is somewhat outdated, it was definitely not anything approaching an enterprise-level DB tool. It was a glorified file dump for storing data, and god forbid if you wanted your DBMS to perform typical DBMS functions (like say, adding or comparing dates) correctly. It all had to be handled by the front-end code.

[/QUOTE]

MySQL has had several [date and time types](http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html) and a bajillion [date and time functions](http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html) for nearly ten years.

---

<div class="post-metadata">

**Author:** ![Arnold\_Winkelried](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@Arnold\_Winkelried](https://boards.straightdope.com/u/Arnold_Winkelried)\
**Post date:** [April 12, 2007, 10:20pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/22 "2007-04-12T22:20:35Z")

</div>

[QUOTE=chrisk]  
Hmm… could you post an example? Is it something that’s new??

And does it depend on what library you’re talking to oracle with and what your application language is written with??  
[/QUOTE]  
Example? Yes. New? No. Does it depend on library or language? No.

You would use ref cursors. (Note to Oracle programmers - the first place to check, if you have a question about Oracle, is Tom Kyte’s excellent website - also every Oracle programmer should own his book “expert one-on-one Oracle”).

[Tom Kyte on the use of ref cursors](http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4471758621321)

---

<div class="post-metadata">

**Author:** ![Arnold\_Winkelried](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@Arnold\_Winkelried](https://boards.straightdope.com/u/Arnold_Winkelried)\
**Post date:** [April 12, 2007, 10:23pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/23 "2007-04-12T22:23:00Z")

</div>

[QUOTE=crazyjoe]  
Oracle was (and still is in many respects) a clunky powerhouse of a DBMS. It’s not an easy piece of software to leanr by any means, and because it’s so tedious, the DBAs tend to be cranky and anal.  
[/QUOTE]  
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.

---

<div class="post-metadata">

**Author:** ![crazyjoe](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@crazyjoe](https://boards.straightdope.com/u/crazyjoe)\
**Post date:** [April 16, 2007, 4:50pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/24 "2007-04-16T16:50:45Z")

</div>

[QUOTE=friedo]  
MySQL has had several [date and time types](http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html) and a bajillion [date and time functions](http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html) for nearly ten years.  
[/QUOTE]

Yes, and they haven’t always worked correctly. I’ll try to do a search and post a cite for this, but it was really silly things like if you added a day to 3/30, you oculd get 3/31 (or more obviously, adding 2 days to 2/28 could net you 2/30). MySQL was at best an unreliable place to put your data.

Ah, here it is: it’s a weblog which links to some of the “features” of MYSQL.

> **[It's Feburary the 31st. Do you know where your data is? MySQL knows...](https://weblogs.sqlteam.com/robv/archive/2003/11/19/576.aspx/)**
>
> Damian was kind enough to send this little nugget: http://sql-info.de/mysql/
> It's not exactly a debunking of MySQL, but it does have a list of what it describes as "gotchas" regarding MySQL's behavior.

The post is a little ranty, but when you’re a DBA who has to deal with people asking you about their DB problems all day, and they’re in mysql, it can get frustrating.

---

<div class="post-metadata">

**Author:** ![Nars\_Glinley](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/nars_glinley/32/8177_2.png) [@Nars\_Glinley](https://boards.straightdope.com/u/Nars_Glinley)\
**Post date:** [April 16, 2007, 5:23pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/25 "2007-04-16T17:23:05Z")

</div>

[QUOTE=Arnold Winkelried]  
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.  
[/QUOTE]

He’s just jealous that you’re on “Oracle 12.2”. 😉

---

<div class="post-metadata">

**Author:** ![crazyjoe](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@crazyjoe](https://boards.straightdope.com/u/crazyjoe)\
**Post date:** [April 16, 2007, 5:36pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/26 "2007-04-16T17:36:19Z")

</div>

Yeah, not even Microsoft can crank out versions faster than Oracle 🙂

---

<div class="post-metadata">

**Author:** ![crazyjoe](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@crazyjoe](https://boards.straightdope.com/u/crazyjoe)\
**Post date:** [April 16, 2007, 5:40pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/27 "2007-04-16T17:40:28Z")

</div>

[QUOTE=Arnold Winkelried]  
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.  
[/QUOTE]

Well if vbulletin ran on a decent DBMS like SQL Server instead of MySQL, we could have a longer edit window 😉

---

<div class="post-metadata">

**Author:** ![SiouxChief](https://avatars.discourse-cdn.com/v4/letter/s/d6d6ee/32.png) [@SiouxChief](https://boards.straightdope.com/u/SiouxChief)\
**Post date:** [April 16, 2007, 6:11pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/28 "2007-04-16T18:11:13Z")

</div>

[QUOTE=crazyjoe]  
Ah, here it is: it’s a weblog which links to some of the “features” of MYSQL.

> **[It's Feburary the 31st. Do you know where your data is? MySQL knows...](https://weblogs.sqlteam.com/robv/archive/2003/11/19/576.aspx/)**
>
> Damian was kind enough to send this little nugget: http://sql-info.de/mysql/
> It's not exactly a debunking of MySQL, but it does have a list of what it describes as "gotchas" regarding MySQL's behavior.

The post is a little ranty, but when you’re a DBA who has to deal with people asking you about their DB problems all day, and they’re in mysql, it can get frustrating.  
[/QUOTE]

That post is from 2003. MySQL has come a long, long way since then.

With regard to the “enterprise ability” of MySQL, it’s simply a fact that MySQL is used on an enterprise scale all the time. As someone else mentioned…wikipedia is a user. Slashdot, LiveJournal, Facebook, Digg, flickr, CNET, Friendster, and Craiglist all use. You can’t by any stretch imply that these are small applications for a small number of users. However, I’m not saying that it’s always the best choice.

As to the OP, the kid in your class is wrong–they are not “all the same” for real-world applications. However for the purposes of your class project, they might very well be the same. Heck, for a class project even a piece of worthless garbage like Microsoft Access would be suitable for the database. You’ll most likely not need any of the high-end features of whatever database you’ll use.

In the real world, you pick the database that suits your needs. If you’re doing a web application on a shared web host, it’ll probably be best to use MySQL or PostgreSQL because it’ll likely already be installed, and it’s free, and will more than likely do everything you need it to do.

If you’re doing an application at your company, and using Microsoft tools, it’ll be best to use SQL Server. The integration with Microsoft tools is top-notch, and it’s an excellent database. (But, I should point out…please NEVER consider using Microsoft Access).

If you’re a huge company and you require the best high-end, high-availability database, you’ll choose Oracle. It is simply the most powerful and capable database on the planet.

Since you’re entering IT, take my advice and learn them all.

---

<div class="post-metadata">

**Author:** ![Arnold\_Winkelried](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@Arnold\_Winkelried](https://boards.straightdope.com/u/Arnold_Winkelried)\
**Post date:** [April 16, 2007, 6:13pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/29 "2007-04-16T18:13:59Z")

</div>

[QUOTE=KRM]  
He’s just jealous that you’re on “Oracle 12.2”.  
[/QUOTE]

Whoops! 10.2 of course. I am so ashamed!

[QUOTE=crazyjoe]  
Yeah, not even Microsoft can crank out versions faster than Oracle  
[/QUOTE]

Another good reason for a DBA to choose Oracle: all these upgrades are good for job security.

---

<div class="post-metadata">

**Author:** ![crazyjoe](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@crazyjoe](https://boards.straightdope.com/u/crazyjoe)\
**Post date:** [April 16, 2007, 8:07pm UTC](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827/30 "2007-04-16T20:07:29Z")

</div>

[QUOTE=SiouxChief]  
That post is from 2003. MySQL has come a long, long way since then.

[/quote]

Well, as I said, I haven’t familiarized myself with it in a long time. In this industry, you can live or die on your reputaion, and MySQL early on gave itself a reputation for not wanting to be an ANSI-compliant, enterprise level DBMS.

> [@](#):
>
> With regard to the “enterprise ability” of MySQL, it’s simply a fact that MySQL is used on an enterprise scale all the time. As someone else mentioned…wikipedia is a user. Slashdot, LiveJournal, Facebook, Digg, flickr, CNET, Friendster, and Craiglist all use. You can’t by any stretch imply that these are small applications for a small number of users. However, I’m not saying that it’s always the best choice.

Look, people make stupid decisions ALL THE TIME. Show me some evidence that MySQL has addressed all or any of the complaints I listed, and I’ll happily recant (well, maybe not happily, how about sleepily?). But just because some random fools on the web use a piece of technology doesn’t mean it’s a good DBMS. They could be using it for what it IS good for…a fast filesystem. But it is not a robust, useful DBMS. And slapping a pseudo SQL interface on it does not make it so.

[Previous page](https://boards.straightdope.com/t/mysql-oracle-and-sql-server-differences/399827.md?page=1)
