`
oraclestudy
  • 浏览: 507879 次
文章分类
社区版块
存档分类

sql server T-SQL 区分字符串大小写 的两种方法

 
阅读更多

方法一

写一个函数

--区分字符串大小写的string比较函数
CREATE FUNCTION [dbo].[StrComp](@Str1 NVARCHAR(50),@Str2 NVARCHAR(50))
RETURNS INTEGER--1为相等其返回值为不相等
AS
BEGIN
declare @hashcode1 varbinary(32)
declare @hashcode2 varbinary(32)
declare @result int

select @hashcode1=HashBytes('MD5', @Str1)
select @hashcode2=HashBytes('MD5', @Str2)

if @hashcode1=@hashcode2
begin
set @result = 1;
end
else
begin
set @result = 0;
end
return @result;
end

使用

declare @Str1 nvarchar(50)
declare @Str2 nvarchar(50)

set @Str1 = 'abc'
set @Str2 = 'ABC'

select [dbo].[StrComp](@Str1,@Str2)

结果

==============

0

方法二

用collate子句 定义字符串的转换规则为 Chinese_PRC_CS_AS_WS

使用

declare @Str1 nvarchar(50)
declare @Str2 nvarchar(50)

set @Str1 = 'abc'
set @Str2 = 'ABC'

if @Str1 collate Chinese_PRC_CS_AS_WS = @Str2
begin
select 1
end
else
begin
select 0
end

结果

===========

0

分享到:
评论

相关推荐

    SQL2008对表名及字段区分大小写

    ### SQL2008对表名及字段区分大小写的实现方法 #### 一、概述 在SQL Server 2008中,对于表名、字段名等标识符是否区分大小写是一个重要的配置选项,这对于数据库应用程序的设计和开发具有重要意义。在实际应用中...

    SQL Server字符串比较时区别大小写方法

    在验证密码的时候可能需要对字符串大小写敏感,需要做一些处理,介绍两种方法:  法Ⅰ:转换成二进制再比较,由于大小写的ASC码不同。例如:  *  T_User where cast(field as varbinary) = cast( ...

    SQL server2008-中的常见的字符串处理函数.pdf

    除了以上提到的函数,SQL Server 2008还提供了其他一些字符串处理函数,如`CHARINDEX`(查找子字符串的位置)、`PATINDEX`(模式匹配查找)、`UPPER`和`LOWER`(大小写转换)、`TRIM`(去除两侧空格)等。...

    SQL查询区别大小写

    SQL Server默认情况下对标识符(如表名、列名等)是大小写不敏感的,但对于字符串值(如WHERE子句中的搜索条件)则是大小写敏感的。这种行为是由数据库的排序规则(Collation)所决定的。不同的排序规则会导致不同的...

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换...

    SQL字符串操作

    这些函数可以删除字符串尾部或头部的空格,转换字符串的大小写等。 * RTRIM 函数:删除字符串尾部的空格。 * LTRIM 函数:删除字符串头部的空格。 * UPPER 函数:将字符串转换为大写。 * LOWER 函数:将字符串转换...

    如何:让Oracle表及字段显示为区分大小写

    与Oracle相比,SQL Server 默认支持区分大小写的标识符。这意味着在SQL Server中创建表时,无需额外操作即可保留标识符的原始大小写状态。SQL Server使用方括号 (`[]`) 来指定标识符应保持原始大小写。这种机制与...

    sql字符串处理函数

    它们非常适用于不区分大小写的比较场景,或者在数据清洗过程中统一文本格式。 ```sql SELECT LOWER('Hello World'); -- 返回'hello world' SELECT UPPER('Hello World'); -- 返回'HELLO WORLD' ``` ### STR() STR...

    sql server 直接读取excel

    在SQL Server中,直接读取Excel文件是一种常见的需求,特别是在数据整合、分析或者报表生成时。标题和描述中提到的方法允许我们避免将Excel数据导入到数据库中,而是直接在SQL Server中对Excel文件进行查询或处理。...

    数据库区分大小写的设置

    本文将深入探讨SQL Server与MySQL这两种主流数据库管理系统中关于大小写敏感性的设置。 #### SQL Server 大小写敏感性设置 SQL Server默认情况下对标识符(例如表名、列名等)是不区分大小写的。然而,在某些场景...

    PostgreSQL数据库对象名大小写敏感的解决方法

    `UPPER()`可以将字符串转换为大写,而`ILIKE`则用于不区分大小写的字符串比较。 ##### 示例查询语句 ```sql -- 使用UPPER()函数 SELECT * FROM "TUser" WHERE UPPER("Name") LIKE '%TONY%'; -- 使用ILIKE操作符 ...

    ABAP字符串SQL Functions语法总结

    3. `INSTR(arg, sub)`: 这个函数用于在字符串`arg`中查找子字符串`sub`的第一个出现位置,区分大小写。如果找不到,结果为0。例如: ```abap SELECT matnr, INSTR(vpsta, 'CV') AS num, ernam INTO TABLE @DATA(gt_...

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    SQL Server 2008中SQL查询语句字段值不区分大小写的问题解决

    默认情况下,SQL Server可能使用一种不区分大小写的排序规则,导致在比较字符串时不考虑字符的大小写差异。 **二、解决办法** 1. **数据库级设置排序规则** 可以通过修改数据库的排序规则来全局改变所有表和列的...

    sqlserver2005的base64加密解密函数

    Base64编码基于64个可打印字符,包括大小写字母、数字以及"+"和"/",还有一个特殊字符"="用于填充。它将每3个字节的二进制数据拆分成4个6位的二进制数,然后将每个6位二进制数转换为对应的Base64字符。 二、SQL ...

    SQL2005 数据库大小写规则

    #### SQL2005 大小写规则设置方法 在SQL Server 2005中,可以通过修改数据库的排序规则(Collation)来改变其大小写敏感性。排序规则不仅决定了字符数据的比较方式,还决定了字符串操作的行为。下面详细介绍如何...

    SQL Server中利用正则表达式替换字符串的方法

    这个自定义函数 dbo.RegexReplace 接收四个参数:@string 表示被替换的字符串,@pattern 表示用于匹配的正则表达式模式,@replacestr 表示替换后的字符串,@IgnoreCase 表示是否忽略大小写匹配,默认值为0表示区分大...

    ORACLE与SQLSERVER函数异同比较

    - **转换大小写**: 两个数据库均支持`LOWER`和`UPPER`函数来分别将字符串转换为小写和大写。 - **左侧填充**: Oracle中的`LPAD`函数没有直接对应的SQL Server函数,但在SQL Server中可以通过其他方法实现。 - **去除...

    PostgreSQL_与_MS_SQLServer比较

    - **MS SQL Server** 则默认不区分大小写。 #### 字符串操作 - **字符串连接**:MS SQL Server 使用 `+` 连接字符串,而 PostgreSQL 使用 `||`。 - **处理 NULL 字符**:两者都支持使用 `COALESCE` 或 `NULLIF` ...

    Oracle与Sql-Server函数对照.docx

    5. **大小写转换** - **Oracle** & **SQL Server**: `LOWER`, `UPPER` - 作用:分别将字符串转换为全小写或全大写形式。 6. **字符串填充** - **Oracle**: `LPAD` - **SQL Server**: 不直接支持,但可以通过...

Global site tag (gtag.js) - Google Analytics