Sql 在小数点后添加尾随零
我正在使用具有以下9个字符结构的sku编号:Sql 在小数点后添加尾随零,sql,sql-server,string,Sql,Sql Server,String,我正在使用具有以下9个字符结构的sku编号: A.三位数字, B一段时间, C五位数 例如:505.12345 sku的末端有相当大的百分比为0。示例:505.12340、505.12300、505.12000 在从S3->SQL Server迁移之后,通过将数据类型设置为varchar,在SQL Server中保留尾随的零没有问题。我在AWS Sagemaker中使用了一个新的机器学习模型,它在迁移到S3之前切断了尾随的零 上面的示例sku现在看起来像:505.1234505.123505.1
A.三位数字,
B一段时间,
C五位数 例如:505.12345 sku的末端有相当大的百分比为0。示例:505.12340、505.12300、505.12000 在从S3->SQL Server迁移之后,通过将数据类型设置为varchar,在SQL Server中保留尾随的零没有问题。我在AWS Sagemaker中使用了一个新的机器学习模型,它在迁移到S3之前切断了尾随的零 上面的示例sku现在看起来像:505.1234505.123505.12
我的问题:在LEN([sku])<9的情况下,向所有sku添加尾随零的最佳方法是什么?我更愿意将sku数据类型保留为varchar。如果您有一个字符串,可以用
0
s右键填充它,如下所示:
left(sku + replicate('0', 9), 9)
或者:
sku + replicate('0', 9 - len(sku))
:
select sku,
left(sku + replicate('0', 9), 9) new_sku,
sku + replicate('0', 9 - len(sku)) new_sku2
from (values ('505.1234'), ('505.123'), ('505.12'), ('505.12345')) x(sku)
sku |新sku |新sku 2
:-------- | :-------- | :--------
505.1234 | 505.12340 | 505.12340
505.123 | 505.12300 | 505.12300
505.12 | 505.12000 | 505.12000
505.12345 | 505.12345 | 505.12345
如果您有一个字符串,可以用
0
s右键填充它,如下所示:
left(sku + replicate('0', 9), 9)
或者:
sku + replicate('0', 9 - len(sku))
:
select sku,
left(sku + replicate('0', 9), 9) new_sku,
sku + replicate('0', 9 - len(sku)) new_sku2
from (values ('505.1234'), ('505.123'), ('505.12'), ('505.12345')) x(sku)
sku |新sku |新sku 2
:-------- | :-------- | :--------
505.1234 | 505.12340 | 505.12340
505.123 | 505.12300 | 505.12300
505.12 | 505.12000 | 505.12000
505.12345 | 505.12345 | 505.12345
一种简单的方法是将转换回十进制(9,5),然后再次转换成字符(9) 资料 质疑 输出
char_9
505.12340
505.12300
505.12000
一种简单的方法是将转换回十进制(9,5),然后再次转换成字符(9) 资料 质疑 输出
char_9
505.12340
505.12300
505.12000