T-SQL使用案例——結果資料前面自動補0
現象:
在開發的過程中,往往需要數字和字串互轉。在轉換的過程中,可能需要把1程式設計00001,這樣的格式。實現這種樣子是有非常多的方法,本文主要提供一種自定義函式來實現
說明:
一般來說這種處理主要使用CONVERT或者CAST來實現即可。思路是先轉換為字串然後在不上足夠數量的0,最後使用RIGHT函式,從右邊取出需要長度。
案例:
本例中使用AdventureWork資料庫作為例子。
首先,執行下面語句:
--查詢部門資料
SELECT DepartmentID,Name
FROM AdventureWorks.HumanResources.Department
結果如下:
然後,使用CAST將原來部門編號轉換成VARCHAR()字串。接著加上固定數量的0,然後利用RIGHT函式,從右邊去除指定數量的字串。
程式碼如下:
--查詢部門資料並將數字根據位數補上0
SELECT RIGHT(REPLICATE('0',5)+CAST(DepartmentID AS varchar(10)),5) AS 'DepartmentID',Name
FROM AdventureWorks.HumanResources.Department
ORDER BY DepartmentID
結果:
以上的是準備工作,現在開始編寫一個自定義函式來實現,此函式有兩個引數,第一個引數是要補0或者其他數目的個數,第二個是要轉換的數字。最後把結果以字串方式返回:
函式程式碼:
CREATE FUNCTION fnZero
(
@n INT,
@i INT
)
RETURNS VARCHAR(125)
AS
BEGIN
RETURN
(
RIGHT(REPLICATE('0',@n)+CAST(@i as varchar(125)),@n)
)
END
使用例子:
--查詢部門資料並將數字根據位數補上0
SELECT DepartmentID as 'DepartmentID',dbo.fnZero(5,DepartmentID) as 'DepartmentID'
FROM AdventureWorks.HumanResources.Department
ORDER BY 1
注意,由於兩個列都是同名,所以ORDER BY 那裡使用了1,而不是列名.
結果如下:
當然,也可以改進該函式,使得函式能滿足很多要求.這部分請讀者自己去研究了.
相關文章
- SAP RETAIL 商品主資料裡影響自動補貨結果的幾個引數 IAI
- SAP RETAIL 商品主資料裡影響自動補貨結果的幾個引數 IIAI
- PHP 如何給數字前面補零 ,固定位數補0PHP
- MySQL資料庫自動補全命令MySql資料庫
- SQL Server雨情處理自動補資料SQLServer
- restapi(0)- 平臺資料維護,寫在前面RESTAPI
- 資料結果表概述
- QTP小技巧 - 自動匯出HTML結果QTHTML
- js正則格式化日期時間自動補0JS
- sqlserver查詢結果中新增自動編號SQLServer
- JavaScript 個位數前面加0JavaScript
- jquery 自動補全jQuery
- 運維開發裡的資料動態獲取和自動補錄運維
- selenium 資料驅動框架自動化從0到1--3框架
- python使用flask接收前端資料,處理後返回結果PythonFlask前端
- Excel自動化操作-office script,自動複製sheetA結果到另一個sheetBExcel
- item_get_app資料返回結果APP
- pycharm 如何自動補全PyCharm
- mac git 自動補全MacGit
- 【伺服器資料恢復】raid0資料恢復案例&raid資料回遷案例伺服器資料恢復AI
- MySQL EXPLAIN結果集分析 - 附帶大量案例MySqlAI
- 記錄oracle中查詢資料0.xx結果為.xx的解決辦法Oracle
- 使用迭代器接收資料並自動停止
- tcpdump過濾資料包,結果不對?TCP
- Kaldi的decode測試資料結果
- T-SQL之資料庫操作SQL資料庫
- springboot結合flyway自動建立資料庫及資料表Spring Boot資料庫
- [Oracle] “表中有資料,但select count(*)的結果為0”問題的解決辦法Oracle
- 19、如何使用機器學習結果機器學習
- [譯] 自動補全規則
- 終端自動補全命令
- Python的自動補全Python
- Docker自動補全容器名Docker
- python自動補全功能Python
- "".indexOf()的作用,以及結果標識 1、0、-1Index
- IO的資料集使用案例
- Chroma向量資料庫使用案例資料庫
- 使用navicat匯出查詢大量資料結果集並匯入到其他資料庫(mysql)資料庫MySql