Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql中区分大小字母_Sql_Sql Server_Reporting Services - Fatal编程技术网

如何在sql中区分大小字母

如何在sql中区分大小字母,sql,sql-server,reporting-services,Sql,Sql Server,Reporting Services,我需要查询以找出数据中的重复项,但该查询也遇到了不重复的数据,但我的查询将其视为重复项,因为我的查询读取的数据是相同的。例如“aabwcfabamaaywjaab”和“aabwcfabamaaywjaab”,但实际上它们是唯一的,因为这两个id持有不同的数据。我使用了Collate功能,但没有任何帮助。请让我知道是否有任何内置的功能,我可以使用或任何逻辑。 提前谢谢你的帮助 select distinct npa ,npanxx_row_id ,count() from

我需要查询以找出数据中的重复项,但该查询也遇到了不重复的数据,但我的查询将其视为重复项,因为我的查询读取的数据是相同的。例如“aabwcfabamaaywjaab”和“aabwcfabamaaywjaab”,但实际上它们是唯一的,因为这两个id持有不同的数据。我使用了Collate功能,但没有任何帮助。请让我知道是否有任何内置的功能,我可以使用或任何逻辑。 提前谢谢你的帮助

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,而不是在评论中发布代码,编辑您的答案以包含它。这一次我帮你做了。如果你收到了这篇文章的答案,请相应地标记答案并给予表扬。谢谢你的帮助。也谢谢你的帮助。