簡介
本文介紹SELECT 1 FROM DUAL中的DUAL的作用。
在SpringBoot中有時可以看到一項配置:spring.datasource.validation-query=SELECT 1 FROM DUAL。那麼這個DUAL是什麼作用呢?
使用場景DUAL的作用
說明
DUAL是一張虛表,作用就是輸出一條記錄。
SELECT 1 FROM DUAL,這句話的意思是:從DUAL這張表中輸出一個常量1。
資料庫的差別
- 對于ORACLE
- SELECT必須有表名,是以不能省略FROM xxx。
- 對于MySQL
- 可以省略FROM DUAL(不省略也可以),即:SELECT 1。
- 檢查資料庫是否線上
- SELECT 1 FROM DUAL
- 數學計算(本處是取模)
- SELECT MOD(12, 5) FROM DUAL;
- 檢視目前使用者
- SELECT USER() FROM DUAL;
- 檢視目前時間
- SELECT SYSDATE() FROM DUAL;
SpringBoot中的作用
spring.datasource.validation-query=SELECT 1 FROM DUAL