2014-10-10 102 views
0

请参阅下面的查询:我在哪里放置整理条款?

SELECT IDNUMBER collate SQL_Latin1_General_CP1_CI_AS  AS ciscrimeurn, 
     WID    AS nicheoccurrenceid, 
     OccurrenceFileNo AS nicheoccurrencefilno 
FROM [rmslive\sql2005].NicheRMS_Live.dbo.TBL_GOCCID 
     INNER JOIN [rmslive\sql2005].NicheRMS_Live.dbo.tbl_goccurrence 
       ON tbl_goccid.wid = tbl_goccurrence.id 
WHERE tbl_goccid.ID LIKE '2060609955%' 
UNION 
SELECT NULL    AS ciscrimeurn, 
     id    AS nicheoccurrenceid, 
     occurrencefileno AS nicheoccurrencefilno 
FROM [rmslive\sql2005].NicheRMS_Live.dbo.tbl_goccurrence 
WHERE id NOT LIKE '90309955%' 
EXCEPT 
SELECT CISIDNumber collate SQL_Latin1_General_CP1_CI_AS, 
     OccurrenceID, 
     OccurrenceFileNo 
FROM dbNicheCIS 

NicheRMS_Live和dbNicheCIS有不同的排序规则。两者都是SQL服务器数据库。

顺时针是一个varchar,nicheoccurrenceid是一个小数,OccurrenceFileNo是一个整数。我不明白把整理条款放在哪里。

+0

检查了这一点 http://stackoverflow.com/questions/4405316/sql-server-2008-database-collat​​ion-conversion – 2014-10-10 11:49:06

+0

整理控制的顺序排序字符串和字符。因此,在适用的列类型上使用它,在这种情况下,您的顺时针字段。 – Kahn 2014-10-10 11:57:40

回答

0

如果你想更改列排序规则,然后

SELECT columnName COLLATE COLLATION_NAME 
FROM tableName 
+0

谢谢。我已经在包含你所说的内容的问题中修改了查询,但我仍然收到错误。你可以看一下吗? – w0051977 2014-10-10 12:59:08

+0

@ w0051977 OccurrenceID,OccurrenceFileNo – 2014-10-10 13:08:56