[T-SQL]抓取系統時間與格式轉換

文章分類: SQL Server, SQL語法, 資料庫 / Database

這陣子開發的程式很頻繁的要用到資料庫抓系統的時間
腦子不好每次找到就忘記 所以乾脆貼上來做的紀錄
繼續閱讀…

[T-SQL]在巢狀迴圈抓@@fetch_status會回傳-1的解決方法

文章分類: SQL Server, SQL語法, 資料庫 / Database

再使用WHILE把SQL裡面SELECT的資料篩選出來時,通常是抓@@fetch_status來取得目前截取資料的狀態
繼續閱讀…

[SQL]將表格橫向呈現

1

文章分類: SQL語法, 資料庫 / Database

這是最近遇到的問題,想要將原本一直直往下列的縱向表格以橫向的方式顯示出來,在網路上查了一寫方法,現在寫下來做個筆記,順便把完成的方式做個分解步驟,因為直接看SQL可能會比較難明白,首先這是原始的表格

學號(id_num) 科目(subject) 成績(score)
101001 國文 85
101001 數學 70
101001 英文 80
101002 國文 73
101002 英文 89
101002 數學 68
101003 國文 70
101003 英文 68
101003 數學 88

希望能夠轉換成這樣的方式呈現

學號(id) 國文成績 英文成績 數學成績
101001 85 80 70
101002 73 89 68
101003 70 68 88

接下來就是拆解動作啦
繼續閱讀…

[SQL Server]DISTINCT與ORDER BY同時出現時產生錯誤「如果已指定 SELECT DISTINCT,則 ORDER BY 項目必須顯示於選取清單中。」

文章分類: SQL Server, SQL語法, 資料庫 / Database

我覺得這是一個滿怪的問題,簡單來說就是SELECT語法有DISTINCT時, ORDER BY一定要有明確的欄位,不過我需要的排序比較麻煩,結果就出錯了,出錯的語法像這樣

SELECT DISTINCT field1, field2
FROM tbl1
ORDER BY SUBSTRING(field1,5,1), SUBSTRING(field1,3,1)

像這種比較詭異的排序規則,就會跳出錯誤,解法有2種
繼續閱讀…

[SQL]查詢UNION後的列數

文章分類: SQL語法

這跟前一篇



自動補足列數問題其實是同時發生的,因為報表的資料及是UNION好幾個資料表的
所以必須計算UNION後的資料列數,語法如下
繼續閱讀…

[SQL][SQL Server]自動補足空白列數

3

文章分類: SQL Server, SQL語法

這是在做Reporting Service報表時遇到的問題,每頁要顯示60筆資料
不足60筆的時候必須補足空白資料行,也就是說如果只有58筆資料,就必須印2行空白列
同理如果有110筆資料,第一頁印滿60筆後,第二頁只有50筆,就要在印10行空白列

在網路上找了很久,就是找不到我要的答案,只好自己東湊西湊,總算是湊出來了
方法是用UNION ALL連接多個空行,讓資料行數補足成為60的倍數,至於差幾行可以補滿60倍數是用餘除的方法
語法大致如下,以下語法適用SQL SERVER
繼續閱讀…

Bad Behavior has blocked 9 access attempts in the last 7 days.