2018年12月28日 星期五

[SQL] 還原資料庫發生錯誤 "無法獲得獨佔存取權,因為資料庫正在使用中"

還原資料庫的時候,忘記斷開所有連結而出現這個錯誤訊息真的很.........啊雜
雖然可以下指令Kill多餘連線,或改為單一使用者模式,
但懶惰如我,真的不是很喜歡那些方式。

所以在這裡提供一個方法,就是直接讓資料庫離線再還原。
它還有一個好處,就是還原完資料庫會自動上線,不用再點選線上工作~

終於不用記那些落落長的指令了(灑花)

2018年12月13日 星期四

[SQL] ISNULL:當值為 NULL 時以他值取代

有時候 DBNULL 真的很討厭
想要讓它以我們想要的預設值出現
又或者
當 DBNULL 的時候傳回別欄的值
這時候 ISNULL函數就非常好用了

例:
SELECT  ISNULL(總成績, 0) , ISNULL(數甲成績, 數乙成績) FROM 成績總表

這時候第一欄當總成績為NULL時,就會代出0,
而第二欄是當數甲成績為NULL時,就會代出數乙成績。



[SQL] IF EXISTS

有些在進行動作前會想要得知某條件是否符合或是否有值
這時候 EXISTS 就非常好用了

程式碼如下:

 IF (EXISTS(SELECT * FROM Employee WHERE ID = '1234')) 
 BEGIN
       DELETE FROM info WHERE ID = '1234' ;
       INSERT INTO unit VALUES('1234','5678');
  END; 

大意為假如 EXISTS 後的指令有傳回值
則進行 BEGIN 與 END 間的指令

2018年12月6日 星期四

[MS SQL] 變數宣告與使用

以前還不覺得需要變數的時候,都是自己手動乖乖打上那些字串們 ~
算是輕鬆愉快也不覺得辛苦 ~

直到最近遇見了大魔王...
要用同一個參數查十多張表,還要由A表搜出的欄位當做變數去搜B.C.D.E表
再這樣複製貼上我就要崩潰啦!!

有句話說得好 ~
科技來自於人性(懶惰)
所以我只好習得本技能 - SQL指令的變數宣告與使用

首先你要宣告變數(@EmployeeID )、設定變數型態與值
接下來就是呼叫它啦 ~ 有沒有很簡單
真是讓人太開心了!

以下程式請參考 ~

[Excel] 日期(數值)轉文字

Excel的日期格式真的常常使人抓狂, 在使用者輸入日期後該欄位真正的值會被Excel轉換成一串數字, 這串數字代表著自1900/1/1到該日期的總天數。 但程式或使用者真正要的,就不是這串數字, 他們就是要日期!要日期!! So, 為了取得真正的值只好使用TEXT函數來解決了 ...