2016-01-15 89 views
0

我想连接来自两个单独列的字符串。麻烦的是,我需要串联中的第一个字符串是第一个字母。以字母顺序连接字符串

例如:

Column 1  Column 2  Concatenation 
def    abc    abcdef 
abc    def    abcdef 

有什么办法来Access中做到这一点? SQL Server也可能是一个选项,但对我来说,保留在Access中会更容易。

回答

2

对于两个字符串,你可以留在访问:

select iif(column1 < column2, column1 & column2, column2 & column1) as concatenation 

如果你有行中的两个以上的字符串,那么SQL Server的将是一个更好的选择。

0

SQL Server版本

create table a 
(col1 nvarchar(100) 
,col2 nvarchar(100) 
) 
insert into a values('abc','def') 
insert into a values('def','abgggccz') 
insert into a values('xyzabc','def') 
insert into a values('def','xyzabc') 
insert into a values('axyzabc','def') 
insert into a values('adef','acxyzabc') 
insert into a values('abcd','x') 

查询

select 
case when 
LOWER(col1)>LOWER(col2) 
then col2+''+col1 
else 
col1+''+col2 
end 
from a 

结果

abcdef 
abgggcczdef 
defxyzabc 
defxyzabc 
axyzabcdef 
acxyzabcadef 
abcdx 

注:如果您使用的是SQL服务器,然后,如果你想连接越多,你可以这样做比2串

相关问题