我的应用程序正在使用java + MSSQL,MySQL.below查询适用于MSSQL,但不适用于MySql。在mysql中,当我按下面的方式编写查询时,它会给出错误的结果
查询
select distinct u.id, u.first_name + ' ' + u.last_name as 'FullName', u.company_name from user_master u 它给了我以下的结果
结果
id FullName company_name
1 0 abc
2 0 comp2预期结果
id FullName company_name
1 shah priya abc
2 xyz test comp2有人能帮我做吗?
如果我在下面写查询,那么它可以正常工作。
select distinct u.id, concat(u.first_name,' ',u.last_name) as 'FullName', u.company_name 请帮我解决这个问题。
发布于 2014-12-11 12:09:26
发布于 2014-12-11 12:18:49
由于您已经为Server添加了标记,下面的内容将帮助您
你的桌子
SELECT 'PRIYA' FNAME, 'RAMAN' LNAME
INTO #TEMP

你的结果
SELECT *,FNAME + ' ' + LNAME AS FULLNAME
FROM #TEMP

下面是http://sqlfiddle.com/#!3/85020/1 (如果出现任何错误,请按RUNSQL加载)
发布于 2014-12-11 12:20:34
我建议继续使用concat()表示法,如果您只想让它在MySQL中工作,则IMHO要清楚得多。
如果需要在查询之间实现兼容性,也许您应该使用像HQL这样的高级查询语言,然后让MSSQL和MYSQL驱动程序将其转换成特定的sql习语。有关此问题,请参见Hibernate文档。
https://stackoverflow.com/questions/27422484
复制相似问题