顯示具有 sql 標籤的文章。 顯示所有文章
顯示具有 sql 標籤的文章。 顯示所有文章

2025年5月19日 星期一

預存程序不定時出現:指定的轉換無效

這蟲真是難抓,一下出現一下又消失,搞得我心慌慌的,但是經過多次的嘗試,總算收斂了,

但是過程中也是辛苦難耐,這此紀錄一下


2025年4月10日 星期四

透過 OUTER APPLY 語法取得資料

有個需求是,在一對多的歷史資料表中,找出該員工最早或最後刷卡時間,並且在單一筆呈現


2023年7月13日 星期四

SQL Server DateTime 型別注意事項

最近撈取資料並且使用 DateTime 型別欄位排序,但發現怎麼沒有跟預期的有差,想說資料新增進去應該

會差個幾毫秒,應該排序不是這樣的結果,想了想後,發現又忘了一個細節


2023年6月28日 星期三

使用 MERGE 語法新增修改刪除資料

有時會有個需求,是要將 A 資料表的內容倒入 B 資料表,或是某個資料來源結構跟B資料表類似,希望比對後新增或修改,常常我們會透過 IF EXIST() 方法來判斷,這次使用 MERGE 語法來試試


2023年5月9日 星期二

SQL Server 各暫存表的差異

會使用暫存表的情境,除了需要對資料做多次操作之外,再者就是要取得的資料過程過於複雜,如子查詢或是JOIN 三張表以上,而暫存表有幾種分類,稍微紀錄差異

2022年5月30日 星期一

T-SQL 使用 PATINDEX() 判斷字串內容是否為數值

最近有個需求,要從raw data 資料中判斷某個欄位的值是不是數值,後續再依流程設計往下走;

一般直覺都會使用 ISNUMERIC() 函式來判斷,測試後也覺得沒有問題,直到...


2021年6月20日 星期日

SQL Server UNION with different column names

最近幫忙調整資料庫,遇到了一個沒看過的寫法,心中產生疑問,自己實務上確實沒這樣寫過

,所以當下以為應該會有問題,但是,其實這段語法已經運作好幾年了,驚訝之餘,也紀錄自

己的孤陋寡聞。當 SQL UNION 與 UNION ALL 欄位名稱不同時,後者會追隨前者的欄位名稱


2021年6月2日 星期三

SQL Server Sequence

若系統有個功能取號機制,希望相依的幾個功能都依據這個順序處理相關事務,

有時我們會自己寫順序表,然後搭配一些程式邏輯來實現,這邊簡單紀錄一下。


2021年2月1日 星期一

SQLServer 執行大量Insert時,遭遇「記憶體不足」的解決方法

今天準備好新增語法準備塞入資料時,出現「記憶體不足」的提示,上網找了一下,說明可能因為量有點大,造成SSMS剖析時就出現錯誤,需要使用sqlcmd 來執行。

2020年10月13日 星期二

資料表應用效能比較

最近比較頻繁的與TSQL 為伍,在讚嘆前人的花式語法之餘,有時也思考某幾個用法之間的差異,

或能區分相關的使用情境,這次針對泛暫存表的效能差異來比較一下。

2020年9月26日 星期六

T-SQL Insert 語法選型參考

觀察很多人寫 tsql insert 的習慣,慢慢拿捏出幾種風格的好處,以及在多變的情境下,

應該會採取的策略及相關注意事項。

連接的資料庫伺服器不支援從 uniqueidentifier 到 int 的轉換

這篇名字有點長,這是無意間發現的狀況,好奇心作祟筆記一下;實務上不可能將既有運作中的資料

表隨意的轉換型別,更不用說兩者類型所儲存的內容天差地遠,轉換也沒意義;

2020年9月10日 星期四

SQL Server 使用FOR XML 合併多筆欄位的值

這個語法之前一直沒有相對必要的實際應用,若真需要列表分群,覺得使用表格呈現較好閱讀,但若僅是單純的文字

表達作為備註欄位,覺得是個不錯的解法...

2020年8月22日 星期六

CTE 筆記

若在較複雜的查詢,有時會使用到暫存表,但又太想建立暫存表,此時就可以搭配CTE來實作,

而CTE的出現,造成當時一波風潮,如不CTE 母寧死的鐵血捍衛...,接著我們來看看相關應用與實作。


2020年8月21日 星期五

使用T-SQL 實作資料分頁查詢

使用t-sql 實作分頁也算顯學,使用CTE (後續也打算補上筆記) 搭配OFFSET 與FETCH NEXT,

也算是手到擒來,但若Sql Server 屬於滿清時代的 2008 以下版本,就需要另外語法,

這邊展示一下。

2020年8月7日 星期五

T-SQL 動態排序欄位注意事項

實務上確實有可能讓使用者決定資料的排序,在資料量不小的情境下,不太可能將資料全部撈出在用程式過濾,

搭配原本實作分頁的邏輯(亦可參考黑哥文章),將動態排序需求加入其中。

2018年6月5日 星期二

雲端伺服器之資料庫連線問題排除

這問題挺特別的,來紀錄一下;

由於主機是雲端VM,依照之前的經驗SQL 需要開通 1433 port,確實也開通了,但是怎麼連外面就是連不到(內網可以),後來發現需要設定幾個地方


第一確認SQL 組態管理員是否有走 1433 port,預設是動態埠號,需要確認與調整


image

第二是 SSMS 的伺服器名稱要設定 1433 port

SNAGHTML8a00bc