如果有開始日期,再給你一個工作天數,是否可以找出這些工作日呢?
[SQL]計算日期之間的工作日
要計算2個日期之間的工作日,SQL要如何寫呢?
[SQL]用 APPLY 來簡化 SQL
本文章介紹使用 APPLY 來减少重覆的字算式
[SQL]由Key List 字串取得 Name List 字串
Key List 字串(AB),要如何取得對應的 Name List(大學,碩士) 呢?
[SQL]讓 Execute 可以搭配 Select Into,而不再只有 Insert into
讓 Execute 或是 SP 的結果,可以搭配 Select Into,而不再只有 Insert into
[SQL]比較2個日期相差的 年、月、日、時、分、秒
同事問到,如果要比較2個日期相差的 年、月、日、時、分、秒那要如何處理呢?
原本的時、分、秒不要去Care加入的 1900/01/01,
但年、月、日就需要處理哦!
[SQL]組出固定長度的字串
利用datalength來補上空白,再組出需要的固定長度字串
[SQL]取得某段日期區間的月份名稱
透過CTE取得某段日期區間的月份名稱
[SQL]動態查詢條件(Catch-all Queries)
很多系統的查詢畫面之中,常常會有許多的非必填的查詢條件,
有輸入值就依那個資料查詢,沒有就怱略那個查詢條件。
針對這樣子的SQL,會造成 SQL Optimizer 無法正確判斷回傳的資料筆數。
[SQL]Restore Database ... From Disk ... Move ... To
常常用到Restore Database ... From Disk ... Move ... To
所以就記錄下來.
[.NET]篩選條件多加 OR 來減少程式中 if 的判斷
篩選條件一多,程式中的if就增加,程式複雜度也就增加!
有什麼好的方法呢?
[SQL]使用 sp_refreshview 更新 View 的 Metadata
Table改後,有用到它的View需要Alter或是重建嗎?
可以利用 sp_refreshview 哦!
[SQL]SQL 2000 Attach 沒有 LDF 的資料庫
在SQL 2000中,如果只有MDF檔,沒有LDF檔,要如何Attach呢?
CREATE DATABASE ... FOR ATTACH_REBUILD_LOG 不能用,要怎麼辦呢?
[SQL]取得Table中不同欄位的最大值
在SQL中要比較同一個Table不同欄位的大小值,需要使用 CASE WHEN 去判斷出同一筆資料中各欄位的大小值。
在SQL 2008後,可以使用Values 衍生資料表的方式哦!
[SQL]產生亂數值 RAND NEWID
SQL中要產生一個亂數值可以使用 RAND 函數,
那什麼時候要再加入 NewID 給它 亂下去呢?
[SQL]依項目 + 時間來分群(SQL Islands)
要依 項目 + 時間 來分群(SQL Islands)
[SQL]BACKUP ... TO DISK = 'nul' 不是 'null' 哦!
有時將DB的復原模式轉成完整模式時,需要做一次完整的備份。
所以一開始只想讓它切過去而已,不想真的備份檔案出來,
就可以使用 TO Disk = 'nul' ,請注意,是 nul 不是 null 哦!
[ASP]透過 Recordset 來新增或更新資料
在ASP時代,SQL常常都是用字串去串接,所以會有很多的 SQL Injection 問題!
解法可以透過 ADODB.Command 再搭配它的 Parameters 方式。
但有時Table的欄位可能粉多用SQL會蠻長的,參數去對應有可能會對錯!
這時,您有另一個選擇,就是使用 Recordset 來新增或是更新資料
[SQL]什麼時候指定字串超過限制時,不會發生錯誤呢?
當我們新增資料到Table之中,如果字串長度超過時,就會發生「String or binary data would be truncated.」的錯誤,
那什麼時候指定字串超過限制時,不會發生錯誤呢?
[SQL]Package 'Microsoft SQL Management Studio Package' failed to load
當開啟SSMS時,出現了「Package 'Microsoft SQL Management Studio Package' failed to load」要如何解決呢?

