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,而不是列名.
結果如下:
當然,也可以改進該函式,使得函式能滿足很多要求.這部分請讀者自己去研究了.
相關文章
- PHP 如何給數字前面補零 ,固定位數補0PHP
- SAP RETAIL 商品主資料裡影響自動補貨結果的幾個引數 IAI
- SAP RETAIL 商品主資料裡影響自動補貨結果的幾個引數 IIAI
- MySQL資料庫自動補全命令MySql資料庫
- restapi(0)- 平臺資料維護,寫在前面RESTAPI
- js正則格式化日期時間自動補0JS
- 0 == "無". 結果是 true
- selenium 資料驅動框架自動化從0到1--3框架
- 【伺服器資料恢復】raid0資料恢復案例&raid資料回遷案例伺服器資料恢復AI
- 資料結果表概述
- 運維開發裡的資料動態獲取和自動補錄運維
- T-SQL之資料庫操作SQL資料庫
- 2024.4.8 資料結構課件補題資料結構
- sqlserver查詢結果中新增自動編號SQLServer
- python使用flask接收前端資料,處理後返回結果PythonFlask前端
- mac git 自動補全MacGit
- 輸入自動補齊
- pycharm 如何自動補全PyCharm
- kubectl的自動補全
- 使用迭代器接收資料並自動停止
- 資料庫完整性+T-SQL資料庫SQL
- IO的資料集使用案例
- Chroma向量資料庫使用案例資料庫
- 記錄oracle中查詢資料0.xx結果為.xx的解決辦法Oracle
- [Oracle] “表中有資料,但select count(*)的結果為0”問題的解決辦法Oracle
- Docker自動補全容器名Docker
- [譯] 自動補全規則
- python之 自動補全 tabPython
- 終端自動補全命令
- spyder自動補齊失靈
- Excel自動化操作-office script,自動複製sheetA結果到另一個sheetBExcel
- item_get_app資料返回結果APP
- springboot 自動配置案例分析Spring Boot
- Mysql:把指定資料行排在前面MySql
- vscode怎麼設定html標籤自動補全? vscode自動補全html的技巧VSCodeHTML
- mavn 執行 junit 單元測試的結果為 Tests run: 0, Failures: 0, Errors: 0, Skipped: 0AIError
- MSSQL資料庫資料恢復案例:ndf檔案大小變為0KB恢復資料SQL資料庫資料恢復
- Python如何設定自動補全?Python
- Laravel artisan bash 命令自動補全Laravel