SQL Database Management Part 7

1.Date and Time
a. datepart 
   Also, Refer to Microsoft official website for more information
     Datepart (MS SQL)

   其他參數引數,請參考MS官網  DATEPART (MS SQL, CHT)
     

b. 從書籍訂單中找出 5月份
Example 1:

或是用範例二

PS:日期、時間在SQL 裡面是用帶有小數的數字計算。
select getdate() +5 表示日期加5天
select getdate() +0.5 表示現在時間加12小時

c. 日期差 DateDiff
其他參數引數,請參考MS官網  DATEDIFF (Transact-SQL)
範例一:二種 SQL 語法


範例二:月份相剪只單純減月,年份相剪只單純減年


d. DateAdd
計算日期相加
其他參數引數,請參考MS官網  DATEADD (Transact-SQL)


d. convert
日期時間轉換成其他格式
其他參數引數,請參考MS官網   CAST 和 CONVERT (Transact-SQL)


2. Case...End
a. 可在 SQL 先運算並做分類

3. Nullif

範例:性別如果是 '男',就在新欄位 T 輸入 NULL 值


4. 資料摘要和分組
a.彙總函數: Min, Max, Sum, Avg, Count(), Count(*),共六種。
說明: Group by, 先群組之後再做彙總。

範例一:先將書籍名稱群組後,再看誰單價最高。但是每本書都只有一個單價,也就是每一本都是最貴的,所以每本書都會顯示出來。因此結果不適我們想要的。

範例二:先將書籍名稱群組後,再將該本書賣最多的那一次的數量顯示出來。



範例三:Sum(數量), 一品書店共買了231本書。先將客戶名稱群組後,再將各組的數量相加。也就是各家書店的總數量。

範例四:Count(*), 一品書店共交易七次



b.彙總函數--應用
範例三:先將單價最高的選出來,再用 where 告訴主查詢,只要顯示出單價最高的那一筆資料。

範例四:先將數量最大的選出來,再用 where 告訴主查詢,只要顯示出 數量最大的那一筆資料。


c. 彙總不重複的數值
範例五:先去掉重複客戶名稱,所以顯示出的客戶名稱不會有重複
範例六:再去計算範例五的數量


No comments: