我需要从连接为'field1-field2'的数据库中返回两个字段.第二个字段是一个int,但需要返回固定长度5,前导0.我正在使用的方法是:
SELECT Field1 + '-' + RIGHT('0000' + CAST(Field2 AS varchar),5) FROM ...
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点?
SQL*_*ace 31
这几乎就是这样:将前导零添加到整数值
因此,为了保存链接,查询看起来像这样,#Numbers表在哪里,Num是列:
SELECT RIGHT('000000000' + CONVERT(VARCHAR(8),Num), 8) FROM #Numbers
Run Code Online (Sandbox Code Playgroud)
对于负值或正值
declare @v varchar(6)
select @v = -5
SELECT case when @v < 0
then '-' else '' end + RIGHT('00000' + replace(@v,'-',''), 5)
Run Code Online (Sandbox Code Playgroud)
另一种方式(没有CAST或CONVERT):
SELECT RIGHT(REPLACE(STR(@NUM),' ','0'),5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40335 次 |
| 最近记录: |