首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从u.id u中选择u.first_name +‘’+ u.last_name,u.company_name给出错误的结果

从u.id u中选择u.first_name +‘’+ u.last_name,u.company_name给出错误的结果
EN

Stack Overflow用户
提问于 2014-12-11 12:05:46
回答 4查看 133关注 0票数 0

我的应用程序正在使用java + MSSQL,MySQL.below查询适用于MSSQL,但不适用于MySql。在mysql中,当我按下面的方式编写查询时,它会给出错误的结果

查询

代码语言:javascript
复制
select distinct u.id, u.first_name + ' ' + u.last_name as 'FullName', u.company_name  from user_master u 

它给了我以下的结果

结果

代码语言:javascript
复制
id  FullName company_name
1   0        abc
2   0        comp2

预期结果

代码语言:javascript
复制
id  FullName      company_name
1   shah priya    abc
2   xyz test      comp2

有人能帮我做吗?

如果我在下面写查询,那么它可以正常工作。

代码语言:javascript
复制
select distinct u.id, concat(u.first_name,' ',u.last_name) as 'FullName', u.company_name 

请帮我解决这个问题。

EN

回答 4

Stack Overflow用户

发布于 2014-12-11 12:09:26

您不应该使用+操作符进行连接。相反,您应该使用concat函数。

+的意思是这里的加法。

请参阅

票数 0
EN

Stack Overflow用户

发布于 2014-12-11 12:18:49

由于您已经为Server添加了标记,下面的内容将帮助您

你的桌子

代码语言:javascript
复制
SELECT 'PRIYA' FNAME, 'RAMAN' LNAME
INTO #TEMP

你的结果

代码语言:javascript
复制
SELECT *,FNAME + ' ' + LNAME AS FULLNAME 
FROM #TEMP

下面是http://sqlfiddle.com/#!3/85020/1 (如果出现任何错误,请按RUNSQL加载)

票数 0
EN

Stack Overflow用户

发布于 2014-12-11 12:20:34

我建议继续使用concat()表示法,如果您只想让它在MySQL中工作,则IMHO要清楚得多。

如果需要在查询之间实现兼容性,也许您应该使用像HQL这样的高级查询语言,然后让MSSQL和MYSQL驱动程序将其转换成特定的sql习语。有关此问题,请参见Hibernate文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27422484

复制
相关文章

相似问题

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