🤣 "ถ้ายังอยู่บนดาวโลก ปีนึงมีไม่ถึง 419 วันแน่ ๆ !!"
.
ดังนั้นวันนี้เรามารู้จักกับ Data Type "Date" หนึ่งในประเภทข้อมูลที่ใช้เก็บเวลา ที่หลาย ๆ ภาษา รวมถึง SQL มีให้ใช้งานแบบง่าย ๆ !
.
นึกภาพดูว่าถ้าเราต้องการข้อมูลออเดอร์จากวันที่ 1 เมษายน 2563 เราจะทำยังไง ? จะต้องไล่หั่น String หรือ เปรียบเทียบจากการแปลงตัวเลขต่าง ๆ สุดวุ่นวายเลยไหม ?
.
✅ คำตอบคือ "อาจจะใช่ ถ้าไม่ใช้ Date จัดการ" แต่ถ้าใช้ Date เราสามารถเปรียบเทียบตรง ๆ เหมือน if - else ธรรมดาได้เลย เช่น ต้องการข้อมูลของวันที่เท่านั้น หรือ ช่วงเวลานั้น ๆ
.
โดยถ้าพูดถึงในส่วนของ SQL จะมี Data Type พวก Date นี้หลายตัวเหมือนกันไม่ว่าจะเป็น
.
- DATE - เป็นรูปแบบ ปี เดือน วัน YYYY-MM-DD
- DATETIME - เป็นวันที่แถมมีเวลาด้วย : YYYY-MM-DD HH:MI:SS
- TIMESTAMP - เป็นรูปแบบ Time Stamp เมื่อมี Data เข้ามา : YYYY-MM-DD HH:MI:SS
- YEAR - เก็บในรูปแบบปี YYYY หรือ YY
.
ซึ่งเมื่อเราเก็บข้อมูลในรูปแบบนี้นอกจากจะทำให้เข้าถึงข้อมูลได้ง่ายแล้ว 1 ปีตามปฏิทินของเราจะมีไม่เกิน 365 ถึง 366 วันแน่นอน !! <3
.
#BorntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有12部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,中央從Python程式到網路爬蟲應用第7次SQLite建立資料庫與新增資料&匯入會員資料的50個會員到資料庫中&改用format產生SQL語法與寫入資料&用executemany&&用select查詢資料表&刪除資料與自訂函數&Update修改資料&會員編號與文字關鍵字與日期查詢 上課內容: 01...
「if...else sql」的推薦目錄:
- 關於if...else sql 在 BorntoDev Facebook 的最佳解答
- 關於if...else sql 在 Kewang 的資訊進化論 Facebook 的最佳解答
- 關於if...else sql 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於if...else sql 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於if...else sql 在 吳老師教學部落格 Youtube 的精選貼文
- 關於if...else sql 在 How do I perform an IF...THEN in an SQL SELECT? - Stack ... 的評價
- 關於if...else sql 在 sql-docs/if-else-transact-sql.md at live - GitHub 的評價
if...else sql 在 Kewang 的資訊進化論 Facebook 的最佳解答
繼之前分享如何實作「窮人版 ELK」之後,再來分享一下這個服務裡面的 DSL 是如何實作的。會想到要為這個服務做 DSL,主要是小編雖然已經把 Impala 產生的資料利用一些工具轉成 PNG 圖檔,但動作太繁雜,所以想把這些過程用 DSL 來表示,工程師只要會下 SQL 就能把資料轉成 PNG 圖檔了。
其實對於 DSL,有在 follow 粉絲頁的朋友應該有注意到,小編很久以前就有一個屬意的方案了,那就是 MSON。它結合了 Markdown 以及 JSON,所以不只人類易讀,機器也易讀。只不過 MSON Parser 一直都是殘缺不全,所以沒辦法讓小編完整的實作 DSL,這個方案就被捨棄了。
另一個也很適合拿來做 DSL 的就是 YAML 了,個人覺得跟 MSON 比起來易讀性稍低一點,但已經是目前還不錯的實作方式,所以就以這個來做為「窮人版 ELK」的 DSL 實作方案。
DSL 已經把所有轉換的細節都隱藏起來了,工程師只要先自己在 Impala 上撰寫正確的 SQL 指令,其他動作只要把必要欄位填完就可以了。下面是必要欄位的說明:
* SQL:要在 Impala 裡面執行的 SQL 指令,其中有用 ":VAR" 包起來的變數名稱,表示是從 INPUT 欄位取得
* CHART:highcharts 的圖表格式,DSL 目前支援 column (長條圖)、pie (圓餅圖)
* INPUT:這是一個陣列,表示這個變數名稱是從外部操作時取得,另外後面的 "date" 為資料型態,目前支援的類型為 HTML 的 input[type]
* OUTPUT:產生 PNG 圖檔時的欄位資訊,如 X 軸是從 Impala 的哪個欄位取得,顯示在圖表上的名稱要叫什麼
至於轉換細節又是另一件麻煩事,將 DSL 轉成最後的圖檔又經過了不少步驟:
1. js-yaml:雖然說 YAML 很適合拿來做 DSL,但 JSON 還是目前大家最常用的格式。所以當然要先把 YAML 轉成 JSON 這樣才好操作 XD
2. jq:轉換過程中 jq 幫了小編很大的忙,官網寫著這是一套輕量且靈活的命令列 JSON 處理工具。無論要對 JSON 取 key、取 value、取 length、做 group by、做 sort by、if-else、while-loop 都可以,就是很強大。所以小編就拿這個將 YAML 轉換完的 JSON,用一堆奇怪的語法把資料轉換成功。
其實在轉換過程最麻煩的不是操作 JSON,最麻煩的在小編不太會寫 bash script 啊!!!尤其是一堆變數轉換的過程,一下子用 ${},一下子用 $(),還有 ${[$k]} 的這種寫法,看了頭好痛 Orz
最後把 jq 轉完的資料丟給前一篇提到的那些工具,就可以完美把 PNG 圖檔產生出來了,第二篇的「窮人版 ELK」文章到此也就結束了。其實這個專案還有另一個跟圖表無關的功能,那就是即時觀看 API 發送歷程,如果有第三篇的話再來分享一下好了。
* 如何實作「窮人版 ELK」:https://www.facebook.com/kewang.information/posts/2085843121692051
* 如何使用 MSON 的幾個方向:https://www.facebook.com/kewang.information/posts/1940647046211660
* jq:https://stedolan.github.io/jq
#mson #dsl #yaml #json #jq
if...else sql 在 吳老師教學部落格 Youtube 的最佳貼文
中央從Python程式到網路爬蟲應用第7次SQLite建立資料庫與新增資料&匯入會員資料的50個會員到資料庫中&改用format產生SQL語法與寫入資料&用executemany&&用select查詢資料表&刪除資料與自訂函數&Update修改資料&會員編號與文字關鍵字與日期查詢
上課內容:
01_重點回顧與SQLite建立資料庫與新增資料
02_修改為自動增號與迴圈自動輸入
03_匯入會員資料的50個會員到資料庫中
04_改用format產生SQL語法與寫入資料
05_改用executemany大量輸入資料
06_修改list2的第五欄資料與大量新增資料
07_用select查詢資料表
08_SQL刪除資料與自訂函數
09_Update修改資料與查詢結果
10_會員編號與文字關鍵字與日期查詢
11_全省郵局地址轉入資料庫與查詢作業說明
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/ncu_python_2019
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/3/9
Python,中央大學資工系,福建師範大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,網路爬蟲

if...else sql 在 吳老師教學部落格 Youtube 的最佳貼文
中央從Python程式到網路爬蟲應用第7次SQLite建立資料庫與新增資料&匯入會員資料的50個會員到資料庫中&改用format產生SQL語法與寫入資料&用executemany&&用select查詢資料表&刪除資料與自訂函數&Update修改資料&會員編號與文字關鍵字與日期查詢
上課內容:
01_重點回顧與SQLite建立資料庫與新增資料
02_修改為自動增號與迴圈自動輸入
03_匯入會員資料的50個會員到資料庫中
04_改用format產生SQL語法與寫入資料
05_改用executemany大量輸入資料
06_修改list2的第五欄資料與大量新增資料
07_用select查詢資料表
08_SQL刪除資料與自訂函數
09_Update修改資料與查詢結果
10_會員編號與文字關鍵字與日期查詢
11_全省郵局地址轉入資料庫與查詢作業說明
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/ncu_python_2019
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/3/9
Python,中央大學資工系,福建師範大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,網路爬蟲

if...else sql 在 吳老師教學部落格 Youtube 的精選貼文
中央從Python程式到網路爬蟲應用第7次SQLite建立資料庫與新增資料&匯入會員資料的50個會員到資料庫中&改用format產生SQL語法與寫入資料&用executemany&&用select查詢資料表&刪除資料與自訂函數&Update修改資料&會員編號與文字關鍵字與日期查詢
上課內容:
01_重點回顧與SQLite建立資料庫與新增資料
02_修改為自動增號與迴圈自動輸入
03_匯入會員資料的50個會員到資料庫中
04_改用format產生SQL語法與寫入資料
05_改用executemany大量輸入資料
06_修改list2的第五欄資料與大量新增資料
07_用select查詢資料表
08_SQL刪除資料與自訂函數
09_Update修改資料與查詢結果
10_會員編號與文字關鍵字與日期查詢
11_全省郵局地址轉入資料庫與查詢作業說明
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/ncu_python_2019
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/3/9
Python,中央大學資工系,福建師範大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,網路爬蟲

if...else sql 在 sql-docs/if-else-transact-sql.md at live - GitHub 的推薦與評價
Transact-SQl language reference for IF-ELSE statements to provide control flow in Transact-SQL statements. 07/11/2016. sql. database-engine, sql ... ... <看更多>
if...else sql 在 How do I perform an IF...THEN in an SQL SELECT? - Stack ... 的推薦與評價
... <看更多>