3位,我不知道這是在SQL Server中可能的,但我要問它;-)的Sql - 使所有物品的長度
我有一個名爲duty
表中的列work
。
所以說Work.Duty
包含不同的數字,像這樣(1, 2, 3, 20, 22, 305, 306, etc...
)
的佔空號應該總是3個位數,但他們是從平面文件導入,它們提供的原樣。
是否可以在語句中添加1或2個零,以便所有的責任編號有3位數(001,002,020,021,305,306)?
3位,我不知道這是在SQL Server中可能的,但我要問它;-)的Sql - 使所有物品的長度
我有一個名爲duty
表中的列work
。
所以說Work.Duty
包含不同的數字,像這樣(1, 2, 3, 20, 22, 305, 306, etc...
)
的佔空號應該總是3個位數,但他們是從平面文件導入,它們提供的原樣。
是否可以在語句中添加1或2個零,以便所有的責任編號有3位數(001,002,020,021,305,306)?
假設yourColumn爲varchar(...),嘗試:
SELECT FORMAT(CAST(yourColumn AS INT),'000','en-US') from yourTable;
試試這個:
SELECT RIGHT(1000 + Duty, 3) AS newDuty
FROM Work
是啊,這,是可能的。加1000並從右邊開始取3個第一個字符。 –
您應該更好地存儲數字而不是字符串並將其格式化爲程序邏輯。 –
我建議你閱讀:http://stackoverflow.com/questions/9520661/formatting-numbers-by-padding-with-leading-zeros-in-sql-server。 – Paul92