为什么mysql用varchar类型存时间,仍然可以进行时间比较?

为什么mysql用varchar类型存时间,仍然可以进行时间比较?原理是什么?

Y-m-d H:i:s 像这样

阅读 5.2k
1 个回答

因为字符串可以按字典顺序比较大小。比如

echo 'ABC' > 'ABB' ? 'true' : 'false'; // true
echo 'ABC' > 'ABD' ? 'true' : 'false'; // false

你的日期时间格式正好导致按字符串比较的结果和按日期时间比较的结果一样。
如果你换个格式,比如jS M, Y,你会得到1st Jan, 2018这样的字符串,要作比较就可能废了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题