我在课上的演示中看到:
СУБД Функция/переменная
Access NOW()
DB2 CURRENT_DATE
MySQL CURRENT_DATE()
Oracle SYSDATE
PostgreSQL CURRENT_DATE
SQL Server GETDATE()
SQLite date('now')
NOW()
, GETDATE()
, CURRENT_DATE()
,date('now')
这些是函数吗?
CURRENT_DATE
,SYSDATE
它们是变量吗?
如果这是演讲中的准确引用,那么演讲者就不值得夸夸其谈。至少在他没有解释地展示这张桌子的部分。为了:
上面的一些结构将只给出日期,一些 - 日期和时间。将它们收集在一张桌子上并害羞地对差异保持沉默是错误的。
在某些 DBMS 上,显示的结构并不是唯一的。例如,在 MySQL 中,要获取当前日期(不包含时间组件),您可以使用:
这些都是同义词。而且我不会承诺说谁是谁的包装...
此外,时间也可以不同……例如,在同一个 MySQL 中,NOW() 函数将返回查询执行开始的确切时间,而 SYSDATE() - 函数本身在查询中执行的确切时间. 显然,这根本不是一回事,特别是如果请求运行了足够长的时间,并且函数在请求中的不同位置被调用。
CURRENT_DATE
和SYSDATE
,这些不是变量,而是隐藏相应函数调用的关键字。