0
我想连接来自两个单独列的字符串。麻烦的是,我需要串联中的第一个字符串是第一个字母。以字母顺序连接字符串
例如:
Column 1 Column 2 Concatenation
def abc abcdef
abc def abcdef
有什么办法来Access中做到这一点? SQL Server也可能是一个选项,但对我来说,保留在Access中会更容易。
我想连接来自两个单独列的字符串。麻烦的是,我需要串联中的第一个字符串是第一个字母。以字母顺序连接字符串
例如:
Column 1 Column 2 Concatenation
def abc abcdef
abc def abcdef
有什么办法来Access中做到这一点? SQL Server也可能是一个选项,但对我来说,保留在Access中会更容易。
对于两个字符串,你可以留在访问:
select iif(column1 < column2, column1 & column2, column2 & column1) as concatenation
如果你有行中的两个以上的字符串,那么SQL Server的将是一个更好的选择。
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串