1

我通过在组合框中选择名称来检索数据,但如果它有重复的行,它不会显示表的正确 id,所以任何人都可以帮助我通过 id 检索数据,

emp_id      firstname    middlename    surname

88          sdf             sdf        sdf 
89          durga           dfg        dfg 
90          Durga           Muthu   

当我选择Durga或仅durga显示emp_id为 90时

但如果我选择sdf它显示正确的 id88

请任何人帮我解决

4

2 回答 2

1

可能这个可以帮助你

SELECT Column1
FROM Table1
WHERE Column1 COLLATE Latin1_General_CS_AS = 'casesearch'

SQL Server 安装 SQL_Latin1_General_CP1_CI_AS 的默认排序规则不区分大小写。

要更改任何表的任何列的排序规则,请永久运行以下查询。

ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(20)
COLLATE Latin1_General_CS_AS

要了解在存储过程之后运行的任何表的列的排序规则。

EXEC sp_help DatabaseName

上面脚本设置的第二个结果将返回数据库 DatabaseName 的排序规则。

区分大小写的 sql 查询搜索

于 2012-09-05T13:25:37.093 回答
0

在我看来,您正在尝试进行“区分大小写”的选择,是吗?

您应该使用区分大小写的排序规则。

在您的选择查询中尝试:

select emp_id from YOUR_TABLE where firstname = 'durga' COLLATE SQL_Latin1_General_CP1_CS_AS;
 select emp_id from YOUR_TABLE where firstname = 'Durga' COLLATE SQL_Latin1_General_CP1_CS_AS;

如果是您需要的,您可以在表格中更改:

alter table YOUR_TABLE alter column firstname varchar(20) COLLATE SQL_Latin1_General_CP1_CS_AS;

顺便说一句,您确定按“名字”查询是最好的方法吗?

于 2012-09-05T13:29:44.630 回答