由于您最终需要一个由 分隔的字符串值% |
,因此您根本不应该将它们转换为整数。如果要将值加在一起,则需要将它们强制转换为 INT,但不是添加它们,而是将它们连接到字符串上。假设它们已经是字符串 ( CHAR, VARCHAR
) 值,只需将它们连接到其他字符元素上。
SELECT product_number,product_name,description,
price1+ ' ' + price1_split + '% |' +
price2+ ' ' + price2_split + '% |' +
price3+ ' ' + price3_split + '%' as price_split
from tbl_products
但是,如果它们是您尝试截断为整数的浮点值,则可以将CONVERT()
它们截断为INT
然后将CONVERT()
它们返回到字符串以进行连接。FLOOR()
在这种情况下,使用截断 可能会更好,如CONVERT(VARCHAR(n), FLOOR(price1_split))
-- Using CONVERT(INT) for truncation
SELECT product_number,product_name,description,
price1+ ' ' + CONVERT(VARCHAR(32), CONVERT(INT, price1_split)) + '% |' +
price2+ ' ' + CONVERT(VARCHAR(32), CONVERT(INT, price2_split)) + '% |' +
price3+ ' ' + CONVERT(VARCHAR(32), CONVERT(INT, price3_split)) + '%' as price_split
from tbl_products