SQL Server 資料列轉欄 (Row to Column) 完整範例:靜態 CASE 聚合與動態 SQL
將「長表格」 (每列一科目成績) 轉為「寬表格」 (每列一學生,科目為欄位) 是經典的資料樞紐需求。本文提供兩種方案:靜態 SQL (科目固定,用 CASE 聚
SQL 複合條件 (AND/OR/NOT) 對 NULL 值的三值邏輯真值表與處理原則
SQL 採用**三值邏輯 (True/False/Unknown)**,NULL 代表「未知」。複合條件中 AND/OR/NOT 與 NULL 互動結果常違反直
Windows Server 2003 安裝 SQL Server 2000 提示「無法驗證產品金鑰」解決方案 (修改 SafeDllSearchMode)
在 Windows Server 2003 SP1/SP2 上安裝 SQL Server 2000 (VLA 版) 時,安裝精靈的 CD Key 頁面會彈出「無
SQL Server 日期查詢速查:今日、本週、本月、今年及常用日期函數對照表
開發與報表中頻繁需求:「查詢今天/本週/本月/今年的資料」。本文彙整最常用的 DATEDIFF、CONVERT 寫法,並附上 DATEADD、DATEPART、
SQL Server 2000 分頁預存程序通用範本 (動態 SQL + NOT IN 邏輯)
SQL Server 2000 缺乏 ROW_NUMBER()、OFFSET/FETCH,分頁常用「TOP N + NOT IN (SELECT TOP M P
SQL Server 2000 定時執行 SQL 陳述式:SQL Server Agent 作業 vs 批次檔+工作排程器
SQL Server 2000 內建 SQL Server Agent 作業 可實現排程執行 T-SQL,最小間隔 1 分鐘;若需更彈性或跨伺服器,可搭配 os
MySQL 多表查詢完整教學:內連接、修改備份與批次處理
本文以 MySQL 官方教學風格,逐步示範:建立範例資料、INNER JOIN 多表查詢、ALTER TABLE 結構變更、UPDATE/INSERT/DELE
SQL Server 允許 NULL 重複但非 NULL 唯一:三種解法比較 (含 2008 篩選索引)
需求:欄位 Caption 允許多筆 NULL,但非 NULL 值必須唯一。普通唯一索引/約束視 NULL 為相等值,僅允許一筆 NULL,故需替代方案。本文比
SQL Server CASE 運算式完整指南:簡單/搜尋形式、分組統計、CHECK 約束與陷阱
CASE 運算式是 T-SQL 中實現條件邏輯的核心工具,分為「簡單 CASE」與「搜尋 CASE」兩種語法。本文系統說明語法差異、三大經典應用場景 (資料分組
SQL Server 實用未文件化預存程序與擴充程序速查表 (sp_MSforeachdb, xp_fixeddrives 等)
SQL Server 內建數百支系統預存程序,其中許多實用但未正式文件化 (Undocumented),版本間可能異動或移除。本文整理常用未文件化程序的適用版本
MSSQL 自動備份並壓縮批次檔 (sqlcmd + WinRAR)
提供一支可排程執行的 Windows 批次檔 (.bat),自動備份多個 MSSQL 資料庫、以日期時間命名檔案、選擇性放入子資料夾、並呼叫 WinRAR 壓縮
SQL Server 主從表異動實戰:單一預存程序搞定主表與明細同步更新
主從表 結構在訂單、學生選課、發票等業務極常見。典型模式:主表更新/新增時,從表先全刪再重寫。為確保資料一致性,必須在單一交易內完成,避免中間狀態外洩。本文示
SQL Server 批量重命名與刪除預存程序腳本 (游標動態 SQL)
需求:依前綴批量重命名或刪除預存程序。例如將所有 Foods_* 改為 kcb_Foods_*,或刪除 Users_*。本文提供以游標搭配動態 SQL 的通用範
用單一 SQL 解決流水號斷號補齊問題 (含反向補齊與全斷號查詢)
當資料表主鍵為手動維護的流水號 (如合同編號 201106_011),刪除資料後會產生「斷號」。傳統做法在應用層 (C#) 迴圈找補,但純 SQL 即可高效完成
MSSQL 預存程序學習筆記 (一):基礎概念、優缺點、語法與參數模式
預存程序 是將常用或複雜的 T-SQL 批次封裝、編譯後儲存在資料庫中,供重複呼叫的物件。本文系統整理其核心概念、三大類型、建立語法、參數模式 (IN/OUT)
SQL Server 預存程序中 SELECT vs SET 給變數指派的差異詳解
在撰寫 T-SQL 預存程序時,給變數指派值可用 SET 或 SELECT。雖然大多數情況結果相同,但兩者在「多重指派」、「子查詢回傳多筆」、「子查詢無回傳」三
SQL 實戰練習:計算客戶平均購買間隔天數
給定銷售記錄表 (custname, saledate),假設同一客戶同一天不會重複購買,需用單一 SQL 陳述式計算每位客戶「兩次購買之間的平均天數」。本文展
SQL 實戰練習:人資系統出勤/請假扣點邏輯與長期病假判斷
本文透過一個具體的人資系統案例,示範如何以 T-SQL 實作「出勤扣點」、「連續請假視為長期病假 (不扣點)」、「年度累計達標可離職」等業務規則,並討論跨週、國