何时使用 VARCHAR 和 DATE/DATETIME [英] When to use VARCHAR and DATE/DATETIME

查看:31
本文介绍了何时使用 VARCHAR 和 DATE/DATETIME的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在 Freenode 上进行了这个编程讨论,当我尝试使用 VARCHAR(255) 以这种格式存储日期变量时出现了这个问题:D/MM/YYYY.所以问题是为什么使用 VARCHAR 存储日期如此糟糕.优点如下:

We had this programming discussion on Freenode and this question came up when I was trying to use a VARCHAR(255) to store a Date Variable in this format: D/MM/YYYY. So the question is why is it so bad to use a VARCHAR to store a date. Here are the advantages:

  1. 编码速度更快.以前我使用过 DATE,但日期格式真的很麻烦.
  2. 使用字符串比使用日期更耗电?谁在乎,我们生活在 Ghz 时代.
  3. 这在道德上是不正确的(lolwut?)这是另一个用户告诉我的......

那么你更喜欢用什么来存储日期?SQL VARCHAR 还是 SQL DATE?

So what would you prefer to use to store a date? SQL VARCHAR or SQL DATE?

推荐答案

为什么不用锤子拧螺丝?

Why not put screws in with a hammer?

因为它不是工作的正确工具.

Because it isn't the right tool for the job.

VARCHAR 版本的一些缺点:

Some of the disadvantages of the VARCHAR version:

  • 您无法轻松地向 VARCHAR 版本添加/减去天数.
  • 仅提取月/年比较困难.
  • 没有什么能阻止您将非日期数据放入数据库的 VARCHAR 列中.
  • VARCHAR 版本是特定于文化的.
  • 您无法轻松地对日期进行排序.
  • 如果您以后想更改格式,则很难.
  • 这是非常规的,这会让其他开发者更难理解.
  • 在许多环境中,使用 VARCHAR 会使用更多的存储空间.对于少量数据,这可能无关紧要,但在拥有数百万行数据的商业环境中,这可能会产生很大的不同.

当然,在你的爱好项目中,你可以做你想做的.在专业环境中,我会坚持使用正确的工具来完成工作.

Of course, in your hobby projects you can do what you want. In a professional environment I'd insist on using the right tool for the job.

这篇关于何时使用 VARCHAR 和 DATE/DATETIME的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆