mysql - 在 SQL 查询中转换列名与转换值有何不同
问题描述
比如说
cast(PURCHASE_DATE as date) > '2020-01-01'
对比
PURCHASE_DATE > cast('2020-01-01' as date format)
关于上述问题,我有几个问题:
- 我在我的应用程序上测试了这些,它们都导致了相同的结果。是否存在失败的情况?
- 这两种表达方式在资源使用方面有何不同?
- 转换一列是否会转换它想要比较的每个值,而不是将不等式的右侧转换一次以与该列中的所有值进行比较?
解决方案
顺便说一句,如果您以这种方式使用它,则不需要指定日期:
WHERE PURCHASE_DATE > '2020-01-01'
或者这个,对于数字:
WHERE PURCHASE_ID > '0001000'
Teradata 允许大量隐式转换。
推荐阅读
- java - 如果其字段不是易失性的,外部同步的 ArrayList 线程是否安全?
- javascript - jQuery手动调用点击功能
- tensorflow - 如何对具有编码图像字符串张量作为输入的张量流模型的输入进行编码
- java - 如何使用 javax.swing.text.AsyncBoxView 将 JTextPane 中的文本布局委托给非 EDT 线程?
- .net - 如何更改 DateTime AM PM 格式?
- android - 使用 Glide 使用 Storage References 中的图像填充 RecycleView
- javascript - 如何在选择输入中设置多个值?
- stm32 - STM32CubeIDE 不生成配置代码 (NUCLEO-H745ZI)
- dart - 在 Dart 中,有没有比大型 switch 语句更好的解决方案
- sql-server - 视图上最大(日期)查询的奇怪查询计划