关于在SQLSERVER中实现补零的操作:
在开发过程中遇到过两种:
例如 : 要求得到9位的字符, 不满9位左补零.
第一种:
- select stuff('000000000',len('000000000')-len('123')+1,len('123'),'123')
第二种:
- select RIGHT(CAST(Power(10,9) + '123' as varchar),9)
结果都是: 000000123
但在变更时遇到了问题, 当字符要求是10位时, 第二种方法中的Power出现了溢出错误:
- select RIGHT(CAST(Power(10,9) + '123' as varchar),9)
- ----メッセージ 232、レベル 16、状態 3、行 1
値 = 10000000000.000000 は型 int では算術オーバーフロー エラーになります。
希望大家在使用时能注意到, 推荐第一种