如何在sql中区分大小字母
我需要查询以找出数据中的重复项,但该查询也遇到了不重复的数据,但我的查询将其视为重复项,因为我的查询读取的数据是相同的。例如“aabwcfabamaaywjaab”和“aabwcfabamaaywjaab”,但实际上它们是唯一的,因为这两个id持有不同的数据。我使用了Collate功能,但没有任何帮助。请让我知道是否有任何内置的功能,我可以使用或任何逻辑。 提前谢谢你的帮助如何在sql中区分大小字母,sql,sql-server,reporting-services,Sql,Sql Server,Reporting Services,我需要查询以找出数据中的重复项,但该查询也遇到了不重复的数据,但我的查询将其视为重复项,因为我的查询读取的数据是相同的。例如“aabwcfabamaaywjaab”和“aabwcfabamaaywjaab”,但实际上它们是唯一的,因为这两个id持有不同的数据。我使用了Collate功能,但没有任何帮助。请让我知道是否有任何内置的功能,我可以使用或任何逻辑。 提前谢谢你的帮助 select distinct npa ,npanxx_row_id ,count() from
select distinct
npa
,npanxx_row_id
,count()
from kjm.audit_309
where npanxx_row_id
COLLATE Latin1_General_CS_AS in (npanxx_row_id) --and NPANXX_ROW_ID = 'AABWcFABmAAAyWJAAB'
group by npa,npanxx_row_id
having count() >1
order by npa
如果要使用
DISTINCT
,则将排序规则放在了错误的位置
以下内容应适用于SQL Server:
SELECT DISTINCT
(ColumnName) COLLATE sql_latin1_general_cp1_cs_as
From TableName
但是,排序规则可能因RDBMS而异。如果要使用
DISTINCT
,您将排序规则放在了错误的位置
以下内容应适用于SQL Server:
SELECT DISTINCT
(ColumnName) COLLATE sql_latin1_general_cp1_cs_as
From TableName
但这种排序可能因RDBMS而异。如果您要查找重复项,那么这应该可以:
CREATE TABLE #case_sensitivity_training (my_str VARCHAR(40) NOT NULL)
INSERT INTO #case_sensitivity_training (my_str)
VALUES ('AABWcFABmAAAyWJAAb'), ('AABWcFABmAAAyWJAAB')
SELECT
my_str COLLATE SQL_Latin1_General_CP1_CS_AS,
COUNT(*)
FROM
#case_sensitivity_training
GROUP BY
my_str COLLATE SQL_Latin1_General_CP1_CS_AS
HAVING
COUNT(*) > 1
如果您正在查找重复项,那么这应该可以:
CREATE TABLE #case_sensitivity_training (my_str VARCHAR(40) NOT NULL)
INSERT INTO #case_sensitivity_training (my_str)
VALUES ('AABWcFABmAAAyWJAAb'), ('AABWcFABmAAAyWJAAB')
SELECT
my_str COLLATE SQL_Latin1_General_CP1_CS_AS,
COUNT(*)
FROM
#case_sensitivity_training
GROUP BY
my_str COLLATE SQL_Latin1_General_CP1_CS_AS
HAVING
COUNT(*) > 1
SQL Server中的另一个选项可能是二进制校验和()。这将检测案例中的差异
select
your_column
, BINARY_CHECKSUM(your_column)
, COUNT(*)
FROM your_table
GROUP BY
your_column
, BINARY_CHECKSUM(your_column)
HAVING count(*) >1
SQL Server中的另一个选项可能是二进制校验和()。这将检测案例中的差异
select
your_column
, BINARY_CHECKSUM(your_column)
, COUNT(*)
FROM your_table
GROUP BY
your_column
, BINARY_CHECKSUM(your_column)
HAVING count(*) >1
使用正确的排序规则进行查询就是答案。请发布您现在用于查找重复项的查询,以及表定义您使用的RDBMS?@Michael我正在使用:从kjm.audit_309中选择distinct npa、npanxx_row_id、count(),其中npanxx_row_id与拉丁1_General_CS_进行比较,如(npanxx_row_id)--和npanxx_row_id='aabwcabmaaywjaab'group by npa,npanxx\u行\u id具有count()>1个order bynpa@Mr.Jin,而不是在评论中发布代码,编辑您的答案以包含它。这一次我帮你做了。如果你收到了这篇文章的答案,请相应地标记答案并给予评分。查询正确的排序规则就是答案。请发布您现在用于查找重复项的查询,以及表定义您使用的RDBMS?@Michael我正在使用:从kjm.audit_309中选择distinct npa、npanxx_row_id、count(),其中npanxx_row_id与拉丁1_General_CS_进行比较,如(npanxx_row_id)--和npanxx_row_id='aabwcabmaaywjaab'group by npa,npanxx\u行\u id具有count()>1个order bynpa@Mr.Jin,而不是在评论中发布代码,编辑您的答案以包含它。这一次我帮你做了。如果你收到了这篇文章的答案,请相应地标记答案并给予表扬。谢谢你的帮助。也谢谢你的帮助。