我想创建一个sql语句,它接受任何给定名称的写入
select * from Mytable where username='Peter';
我没有注意在数据库中以正确的方式写Peter。现在我还想选择包含此内容的记录:
PETER
PeTER
PeteR
peteR
....
使用ADO和DELPHI XE 2以及MSSQL Server EXPRESS版本。
答案 0 :(得分:2)
SQL Server排序规则SQL_Latin1_General_CP1_CS_AS
- 不区分大小写的搜索。
如果数据库的默认排序规则不区分大小写,则可以明确地使查询忽略区分大小写。
select * from Mytable
where Username COLLATE SQL_Latin1_General_CP1_CS_AS= @Username COLLATE SQL_Latin1_General_CP1_CS_AS;
答案 1 :(得分:1)
如果性能不重要,一个选项是在比较之前使每个小写(或大写):
SELECT * FROM MyTable WHERE LOWER(username) = LOWER('Peter');
答案 2 :(得分:-1)
你可以使双方大写或小写:
where UPPER(username) = 'PETER'