由于您最终需要一个由% |
分隔的字符串值,因此您不应将它们转换为整数。如果要将值添加到一起,则需要将它们转换为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()
他们回到字符串来连接。在这种情况下,它可能会更好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
是什么price_split的类型使用
FLOOR()
为截断的?如果它是VARCHAR,则不需要转换,如果它是Numeric,则不会转换为INT,但VARCHAR – codingbiz 2012-07-09 12:33:29字符串''''+整数'price1_split'产生整数price1_split(空格为'''忽略)。然而,当你尝试'+'%|''SQL Server不知道该怎么做,因为你不能将一个字符串添加到一个整数,并且你会得到错误。 – 2012-07-09 12:46:10
嗨tcoder&KM,我感谢您的帮助。谢谢很多:) – SyntaxError 2012-07-09 13:06:52