在SQL SERVER 2000中如何设置大小写敏感?
我在写一USE_REGISTER store procedure,要判断字符的大小写,请问有合适的函数么? 问题点数:20、回复次数:5Top
1 楼Fiber(山外青山楼外楼)回复于 2002-04-24 10:32:22 得分 0
最好用ascii码来判断是属于大写字母还是小写字母范围;
a-z 65-90 A-Z 97-122Top
2 楼Fiber(山外青山楼外楼)回复于 2002-04-24 10:33:04 得分 0
最好用ascii码来判断是属于大写字母还是小写字母范围;
a-z 65-90 A-Z 97-122Top
3 楼N_chow(Yukon)回复于 2002-04-24 10:42:12 得分 0
Declare @p varchar(10)
Declare @v varchar(10)
set @v='NIPSAN'
set @p='Nipsan'
IF CAST(@v as varbinary)=CAST(@p as varbinary)
print '相等'
else
print '不等'
Top
4 楼N_chow(Yukon)回复于 2002-04-24 10:46:26 得分 0
Declare @p varchar(10)
Declare @v varchar(10)
set @v='NIPSAN'
set @p='Nipsan'
IF CAST(@v as varbinary)=CAST(@p as varbinary)
print '相等'
else
print '不等'
Top
5 楼N_chow(Yukon)回复于 2002-04-24 10:46:38 得分 0
Declare @p varchar(10)
Declare @v varchar(10)
set @v='NIPSAN'
set @p='Nipsan'
IF CAST(@v as varbinary)=CAST(@p as varbinary)
print '相等'
else
print '不等'
Top
6 楼leimin(黄山光明顶)回复于 2002-04-24 11:01:34 得分 0
谢谢楼上的所有人!!!
是这样的,前端用ASP返回的字符串和TABLE里的比较,如何区分大小写,
BELOW IS STORE PROCEDURE
CREATE PROCEDURE Usp_Registerlogin
@loginname nvarchar(50), /* register login name */
@password nvarchar(30) /* register password */
AS
declare @rc int /* SP return code */
set nocount on
select @rc = 0
if @rc = 0
begin
if exists (select * from dbo.employees where loginname=@loginname and [password]=@password)
begin
select @rc=0
return @rc
end
else
select @rc=-1
return @rc
end
GO
Top
7 楼N_chow(Yukon)回复于 2002-04-24 11:25:39 得分 0
改這句:
if exists (select * from dbo.employees where cast(loginname as varbinary)=cast(@loginname as varbinary) and cast([password] as varbinary)=cast(@password as varbinary))Top
8 楼N_chow(Yukon)回复于 2002-04-24 11:26:12 得分 20
改這句:
if exists (select * from dbo.employees where cast(loginname as varbinary)=cast(@loginname as varbinary) and cast([password] as varbinary)=cast(@password as varbinary))Top
9 楼leimin(黄山光明顶)回复于 2002-04-24 11:34:55 得分 0
谢谢!给分。Top




