實用小工具——快速獲取資料庫時間寫法

努力的小雨發表於2024-10-19

最近我遇到了一個比較棘手的問題:在工作中,各個專案所使用的資料庫型別各不相同。這導致我習慣性地使用Oracle的SQL語句進行編寫,但每次完成後都會遇到報錯,最終才意識到專案的資料庫並非Oracle。為了避免這種情況,我需要額外花時間去查詢不同資料庫版本的SQL語法,這嚴重耽誤了我的工作效率。

為了提高我的工作效率,我決定自己編寫一個指令碼,以便能夠快速獲取所需的資料庫語法,從而節省時間,專注於其他更重要的任務。

今天我使用了utools平臺,專注於自動化指令碼的編寫。這個平臺的搭建工作已經完成,所有的環境和依賴都已配置妥當。現在,剩下的任務就是我親自撰寫指令碼,將自己的需求和功能實現出來。

準備工作

首先,你需要下載utools工具。這款工具以其便捷性和高效性著稱,能夠讓你在需要的時候迅速調出所需功能,真正實現“呼之即來、即用即走”。

image

這款工具應該是許多程式設計師在日常工作中必不可少的利器。它不僅提供了豐富的功能,還有廣泛的社群支援。接下來,你需要前往商店,免費下載兩個非常實用的外掛——自動化指令碼和JSON編輯器。

image

在這個工具中,你可以找到許多現成的自動化指令碼,隨時下載並使用。然而,這些指令碼並不完全適合我的需求,因此我決定自己實現一個。

由於不同版本的資料庫在語法上存在差異,我選擇將我的實現以JSON格式進行展示,方便大家檢視和理解。在這個過程中,由於涉及到資料的視覺化展示,我還下載了JSON編輯器。這樣一來,大家就可以更直觀地操作和分析資料,而不僅僅是看一個簡單的字串,這樣大大提升了操作的便利性和有效性。

編寫指令碼

接下來,我們可以自行建立這個指令碼,具體步驟如下。

image

我會將基本程式碼寫出來,以便大家參考和學習。

var conver = parseToJson(ENTER.payload)
var res = JSON.stringify(conver, null, 4);
utools.showNotification('"'+conver+'"'+'已生成完畢')
utools.redirect('Json', res);

function parseToJson(data) {
    const json = {"type":"text","word":"word"};
    return json;
}

這段程式碼的主要目的是將JSON資料傳遞給JSON編輯器外掛,以便進行視覺化展示和更便捷的操作。如圖所示:

image

由於這段程式碼是基於utools平臺開發的,因此其中的一些寫法使用了utools整合的API。為了便於大家更好地理解這些寫法及其背後的實現邏輯,建議大家參考utools的開發文件,那裡提供了詳細的說明和示例。在這裡,我就不再逐一介紹每個API的細節。

各版本寫法

剩下的部分就留給大家自行探索和嘗試各種寫法了。根據各自的需求,大家可以靈活新增或修改程式碼,以實現特定的功能或最佳化。

為了幫助大家更快入手,我在這裡分享一些我常用的寫法,供大家參考。

// 獲取當前時間
const now = new Date();
const formattedDate = now.toISOString().slice(0, 19).replace('T', ' '); // 格式化為 'YYYY-MM-DD HH:mm:ss'

const json = {
    "指定時間": {
        "Oracle": `to_date('${formattedDate}', 'yyyy-mm-dd hh24:mi:ss')`,
        "MySQL": `STR_TO_DATE('${formattedDate}', '%Y-%m-%d %H:%i:%s')`,
        "PostgreSQL": `TO_TIMESTAMP('${formattedDate}', 'YYYY-MM-DD HH24:MI:SS')`,
        "SQL Server": `CONVERT(DATETIME, '${formattedDate}', 120)`,
        "SQLite": `DATETIME('${formattedDate}')`
    },
    "當前時間": {
        "Oracle": "SYSDATE",
        "MySQL": "NOW()",
        "PostgreSQL": "CURRENT_TIMESTAMP",
        "SQL Server": "GETDATE()",
        "SQLite": "CURRENT_TIMESTAMP"
    },
    "時間轉字串": {
        "Oracle": "TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')",
        "MySQL": "DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')",
        "PostgreSQL": "TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')",
        "SQL Server": "CONVERT(VARCHAR, GETDATE(), 120)",
        "SQLite": "STRFTIME('%Y-%m-%d %H:%M:%S', 'now')"
    }
};

實現效果

接下來的步驟是自動發起JSON呼叫,之後只需將生成的結果複製下來進行使用即可。儘管這個工具體積較小,但它能夠幫助我節省大量的時間和精力。

將自己的指令碼上架之後,只需在utools中輸入相應的配置關鍵字即可輕鬆呼叫。

image

執行成功,系統已順利完成操作,具體結果如圖所示。

image

希望這個工具能夠為大家提供幫助,提升工作效率。

總結

如果你們有任何想要實現的小工具,utools絕對是一個值得考慮的平臺。它不僅功能強大,而且特別適合程式設計師的工作方式,能夠滿足我們對靈活性和可定製性的需求。

相關文章