SQL -产生不同小数数的串联



我需要为UpsertVerify列连接两列(我在SQL server中工作)。当列[B] = 22.23时,需要以列小数保持不变的方式将其连接到列A(对于[A] = example,则将[A]与[B]连接将产生example22.23)。

我需要帮助的地方是当列[B]中的值只有一个小数或没有小数时,连接的值应该只产生一个小数。因此,如果列[B]中的值= 22.3或22,则连接的值应分别产生example22.3或example22.0。

例如:

A       | B     | Upsert
example | 22.32 | example22.32
example | 22.1  | example22.1
example | 22    | example22.0

因此,对于两个小数,它需要在连接的值中同时提供这两个十进制值,对于一个十进制值,它需要提供一个十进制值,并且对于没有小数的值,它需要生成一个值。感谢您的宝贵时间!

如果是Microsoft SQL server(从您使用[]来引用列名的猜测),您可以:

CONCAT(a, FORMAT(b, '0.0#'))

如果您希望表达式在A或B为空时结果为空,请使用

a + FORMAT(b, '0.0#')