Car*_*rel 14 sql-server concat collate sql-server-2012
我试图在两列之间用空格连续排列并得到一个排序错误:
SELECT DISTINCT
p.PERSON_ID,
p.ID_NUMBER,
CONCAT(p.FULLNAMES, CONCAT(' ', p.SURNAME)) AS NAME,
o.ORG_NAME,
w.WARD_DESCRIPTION AS WARD,
ess.DESCRIPTION AS SECTOR
Run Code Online (Sandbox Code Playgroud)
在concat操作中无法解决"SQL_Latin1_General_CP1_CI_AS"和"Latin1_General_CI_AS"之间的排序规则冲突
我的数据库中两个违规列的排序规则是: Latin1_General_CI_AS
所以我试图将空白整理到这个整理,但我不知道如何做到这一点.我的尝试:
CONCAT(p.FULLNAMES, (CONCAT((COLLATE Latin1_General_CI_AS = ' '), p.SURNAME))) AS NAME,
Run Code Online (Sandbox Code Playgroud)
或者其他的东西?
Stu*_*tLC 14
你把COLLATE放在每个字段之后,即最糟糕的情况:
SELECT DISTINCT
CONCAT(p.FULLNAMES COLLATE Latin1_General_CI_AS,
(CONCAT(' ' COLLATE Latin1_General_CI_AS,
p.SURNAME COLLATE Latin1_General_CI_AS))) AS NAME
FROM Person p
Run Code Online (Sandbox Code Playgroud)
这将解决您的问题:
SELECT CONCAT(p.FULLNAMES,' ' collate Latin1_General_CI_AS,p.SURNAME) AS NAME
Run Code Online (Sandbox Code Playgroud)
该空间获得与数据库相同的默认排序规则,因此它必须与您的列具有相同的排序规则。在我看来有点傻
| 归档时间: |
|
| 查看次数: |
16420 次 |
| 最近记录: |