首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL选择中获取文本+数据

在SQL选择中获取文本+数据
EN

Stack Overflow用户
提问于 2012-03-25 12:38:05
回答 3查看 2.3K关注 0票数 0

我试图使用select查询来获取变量的值。这里没什么新鲜事。

代码语言:javascript
复制
SELECT p.ProductCode FROM Products_Joined AS p

然而,我想知道是否有可能在这样的结果前加上文字;

代码语言:javascript
复制
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p

所以它看起来像XJ2156。我试图用预定义的文本字符串作为数据的前缀。有人知道如何做到这一点吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-25 12:40:44

正确的方法正是你在问题中所说的:

代码语言:javascript
复制
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p

注意,这只在ProductCode是文本类型(varcharnvarchar.)的情况下起作用。

如果是数字,则必须首先将其转换为文本:

代码语言:javascript
复制
SELECT 'XJ' + CAST(p.ProductCode AS varchar(30)) FROM Product_Joined AS p
票数 0
EN

Stack Overflow用户

发布于 2012-03-25 12:40:44

不确定您的代码有什么问题。我猜想ProductCode是一个int?SQL有疯狂的隐式转换规则,导致“XJ”转换为int.解决方案:

代码语言:javascript
复制
SELECT 'XJ' + convert(nvarchar(4000), p.ProductCode) FROM Product_Joined AS p
票数 1
EN

Stack Overflow用户

发布于 2012-03-25 12:40:21

代替+,你必须使用管道

代码语言:javascript
复制
     SELECT 'XJ' || p.ProductCode FROM Product_Joined AS p
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9860153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档