日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

T-SQL使用案例——結果數(shù)據(jù)前面自動補0

系統(tǒng) 1962 0
原文: T-SQL使用案例——結果數(shù)據(jù)前面自動補0


現(xiàn)象:

在開發(fā)的過程中,往往需要數(shù)字和字符串互轉。在轉換的過程中,可能需要把1編程00001,這樣的格式。實現(xiàn)這種樣子是有非常多的方法,本文主要提供一種自定義函數(shù)來實現(xiàn)

?

說明:

???????? 一般來說這種處理主要使用CONVERT或者CAST來實現(xiàn)即可。思路是先轉換為字符串然后在不上足夠數(shù)量的0,最后使用RIGHT函數(shù),從右邊取出需要長度。

?

案例:

???????? 本例中使用AdventureWork數(shù)據(jù)庫作為例子。

首先,執(zhí)行下面語句:

-- 查詢部門數(shù)據(jù)

SELECT DepartmentID , Name

FROM AdventureWorks . HumanResources . Department

?

結果如下:

? T-SQL使用案例——結果數(shù)據(jù)前面自動補0

然后,使用CAST將原來部門編號轉換成VARCHAR()字符串。接著加上固定數(shù)量的0,然后利用RIGHT函數(shù),從右邊去除指定數(shù)量的字符串。

代碼如下:

-- 查詢部門數(shù)據(jù)并將數(shù)字根據(jù)位數(shù)補上 0

SELECT RIGHT( REPLICATE ( '0' , 5 )+ CAST ( DepartmentID AS varchar ( 10 )), 5 ) AS 'DepartmentID' , Name

FROM AdventureWorks . HumanResources . Department

ORDER BY DepartmentID

?

結果:

T-SQL使用案例——結果數(shù)據(jù)前面自動補0

以上的是準備工作,現(xiàn)在開始編寫一個自定義函數(shù)來實現(xiàn),此函數(shù)有兩個參數(shù),第一個參數(shù)是要補0或者其他數(shù)目的個數(shù),第二個是要轉換的數(shù)字。最后把結果以字符串方式返回:

?

函數(shù)代碼:

CREATE FUNCTION fnZero

(

??? @n INT ,

??? @i INT

)

RETURNS VARCHAR ( 125 )

AS

BEGIN

??? RETURN

??? (

??????? RIGHT( REPLICATE ( '0' , @n )+ CAST ( @i as varchar ( 125 )), @n )

??? )

END

?

使用例子:

-- 查詢部門數(shù)據(jù)并將數(shù)字根據(jù)位數(shù)補上 0

SELECT DepartmentID as 'DepartmentID' , dbo . fnZero ( 5 , DepartmentID ) as 'DepartmentID'

FROM AdventureWorks . HumanResources . Department

ORDER BY 1

注意,由于兩個列都是同名,所以ORDER BY 那里使用了1,而不是列名.

結果如下:

? T-SQL使用案例——結果數(shù)據(jù)前面自動補0

當然,也可以改進該函數(shù),使得函數(shù)能滿足很多要求.這部分請讀者自己去研究了.

?

?

T-SQL使用案例——結果數(shù)據(jù)前面自動補0


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 永昌县| 晴隆县| 象州县| 红原县| 额尔古纳市| 汉沽区| 江源县| 牙克石市| 长汀县| 青岛市| 抚顺县| 洪洞县| 新平| 兴业县| 武鸣县| 洞头县| 民勤县| 封丘县| 榆社县| 新宁县| 玉山县| 中西区| 南京市| 大石桥市| 都昌县| 宣威市| 苏尼特右旗| 墨竹工卡县| 赤壁市| 罗平县| 南溪县| 贡觉县| 徐水县| 辽阳市| 抚顺市| 冕宁县| 盐源县| 锡林郭勒盟| 博客| 赣州市| 都兰县|