我试图使用select查询来获取变量的值。这里没什么新鲜事。
SELECT p.ProductCode FROM Products_Joined AS p然而,我想知道是否有可能在这样的结果前加上文字;
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p所以它看起来像XJ2156。我试图用预定义的文本字符串作为数据的前缀。有人知道如何做到这一点吗?
发布于 2012-03-25 12:40:44
正确的方法正是你在问题中所说的:
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p注意,这只在ProductCode是文本类型(varchar,nvarchar.)的情况下起作用。
如果是数字,则必须首先将其转换为文本:
SELECT 'XJ' + CAST(p.ProductCode AS varchar(30)) FROM Product_Joined AS p发布于 2012-03-25 12:40:44
不确定您的代码有什么问题。我猜想ProductCode是一个int?SQL有疯狂的隐式转换规则,导致“XJ”转换为int.解决方案:
SELECT 'XJ' + convert(nvarchar(4000), p.ProductCode) FROM Product_Joined AS p发布于 2012-03-25 12:40:21
代替+,你必须使用管道
SELECT 'XJ' || p.ProductCode FROM Product_Joined AS phttps://stackoverflow.com/questions/9860153
复制相似问题