2009-11-23

sp_rename 變更欄位名稱

想要變更某個table裡面的欄位名稱,
若嫌使用管理工具太麻煩的話,
可以使用sp_rename函示進行變更!
sp_rename('表格名稱.舊欄位名稱','新欄位名稱')
sp_rename('Prod.ProFac','PFac')
參考自:MSDN-sp_rename

2009-11-20

ADO Query Filter 含中文字解決方案

為了針對查詢出來的Query再做進一步的資料篩選,
常常用會用到Filter的功能,但目前發現若Filter的條件中,
包含了時間、中文字串,程式皆會死當,可以用下列方式解決此情況
//**在Query的onFilterRecord中寫入下列程式碼
if Trim(Edit_CusName.Text) <> '' then
   Accept := AnsiContainsStr(xQuery.fieldbyname('CusName').AsString,Edit_CusName.Text)
else
   Accept := True;
//**並於要觸發過濾的地方寫入
xQuery.Filtered := False;
xQuery.Filtered := True;
以上即可將上述的問題解套,但缺點是此事件會逐筆核對每列記錄,
若當資料量龐大的時候,會耗費不少時間,效益不佳!

參考自:Delphi.ktop

2009-11-13

isNumeric 判斷是否為數字

若要在資要庫中判斷字串是否為數字,可使用isNumeric()函數
根據回傳值 0-非數值、1-數值,進行篩選!
select * from STK
where isNumeric(LocNo)=1
參考自:MSDN-isNumeric

2009-11-09

REPLACE 更新資料表內特定字串

有時候因為資料建立錯誤,
需要將特定字串進行更替時,
可使用 REPLACE的語法進行替換,
REPLACE(欄位,欲被替換的字串,欲替換成的字串)
UPDATE Prod
SET Rem = REPLACE(Rem,'弔','吊')
where Rem LIKE '%弔%'
參考自:MSDN-REPLACE