当前位置:首页 » 编程语言 » sql怎么判断是大小写的
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql怎么判断是大小写的

发布时间: 2023-02-20 01:54:51

A. 求助高手.如何用sql语句区分大小写

关键字是不分大小写的,如select ,from ,where,group by ,order by ,having,update delete ,insert into,sum,avg,min,max 等等。
查询的内容是分大小写的,如表名,字段名,等

B. sql语句区分大小写吗

SQL大小写并不敏感,但是如果是引起来的字符,则是区分大小写的,

示例如下,

1、创建测试表,create table test_uporlow(id number, value varchar2(20));

C. 在SQL Server中区分大小写的几种方法

数据库Collate到存储过程到函数,各种方法都有,选择适合你的。 第一种:ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS--不区分大小写 ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS--区分大小写alter database 数据库 COLLATE Chinese_PRC_CS_AS第二种:--创建如下用户自定义函数(UDF) CREATE FUNCTION StrComp(@Str1 VARCHAR(50 ),@Str2 VARCHAR(50))--ALTER FUNCTION StrComp(@Str1 VARCHAR(50 ),@Str2 VARCHAR(50))RETURNS INTEGERASBEGINDECLARE @i INTEGER--DECLARE @Str1 VARCHAR(50)--DECLARE @Str2 VARCHAR(50)DECLARE @y INT--SET @Str1='a'--SET @Str2='A'SET @i=0--SELECT ASCII(SUBSTRING(@Str1,@i+1,1))SET @y=1 DECLARE @iLen INTSET @iLen=LEN(LTRIM(RTRIM(@Str1))) IF LEN(LTRIM(RTRIM(@Str1)))<LEN(LTRIM(RTRIM(@Str2)))--THENSET @iLen=LEN(LTRIM(RTRIM(@Str2)))WHILE (@i<@iLen)BEGINIF (ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1)))--THENSET @i=@i+1ELSEBEGINSET @y=0BREAKENDENDRETURN @yEND测试:select* from Table1 Where dbo.StrComp(Field1,'aAbB')=1第三种:SQL Server 数据库中的文本信息可以用大写字母、小写字母或二者的组合进行存储。例如,姓氏可"SMITH"、"Smith"或"smith"等形式出现。 数据库是否区分大小写取决于 SQL Server 的安装方式。如果数据库区分大小写,当搜索文本数据时,必须用正确的大小写字母组合构造搜索条件。例如,如果搜索名字"Smith",则不能使用搜索条件"=smith"或"=SMITH"。 另外,如果服务器被安装成区分大小写,则必须用正确的大小写字母组合提供数据库、所有者、表和列的名称。如果提供的名称大小写不匹配,则 SQL Server 返回错误,报告"无效的对象名"。 当使用关系图窗格和网格窗格创建查询时,查询设计器始终正确地反映出服务器是否区分大小写。但是,如果在 SQL 窗格中输入查询,则必须注意使名称与服务器解释名称的方式相匹配。 如果服务器是用不区分大小写的选项安装的,则提示若要确定服务器是否区分大小写,请执行存储过程 sp_server_info,然后检查第18 行的内容。如果服务器是用不区分大小写的设置安装的,则 sort_order 选项将设置为"不区分大小写"。可以从查询分析器运行存储过程。 第四种:select*from servers where convert(varbinary, name)=convert(varbinary, N'RoCKEY')第五种:如ascii('a')再配合Substring()一起用。

D. sql server 查询如何区分大小写

默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from test where tname like 'a%',则查询的结果会把上面的两条记录都查询出来,这一点上和Oracle有区别.
可以通过设置排序规使其区分大小写,可以分别在创建数据库、修改数据库、创建表的字符型列(char\varchar\nchar\nvarchar等)时指定排序规则来实现。如:
1、创建数据库使之区分大小写
create database test COLLATE Chinese_PRC_CS_AS
2、修改数据库使之区分大小写
alter database test COLLATE Chinese_PRC_CS_AS
3、创建表使之区分大小写
create table test(tid int primary key,tname varchar(20) collate chines_prc_cs_as)

E. SQLServer数据库区分大小写的几种方法

第一种:

ALTERTABLEtb--(指定某表的某列)
ALTERCOLUMNcolnamenvarchar(100)COLLATEChinese_PRC_CI_AS--不区分大小写

ALTERTABLEtb--(指定某表的某列)
ALTERCOLUMNcolnamenvarchar(100)COLLATEChinese_PRC_CS_AS--区分大小写

alterdatabase数据库COLLATEChinese_PRC_CS_AS--(指定整个数据库)


第二种:

--创建如下用户自定义函数(UDF)

CREATEFUNCTIONStrComp(@Str1VARCHAR(50),@Str2VARCHAR(50))
--ALTERFUNCTIONStrComp(@Str1VARCHAR(50),@Str2VARCHAR(50))
RETURNSINTEGER
AS
BEGIN
DECLARE@iINTEGER
--DECLARE@Str1VARCHAR(50)
--DECLARE@Str2VARCHAR(50)
DECLARE@yINT
--SET@Str1='a'
--SET@Str2='A'
SET@i=0
--SELECTASCII(SUBSTRING(@Str1,@i+1,1))
SET@y=1
DECLARE@iLenINT
SET@iLen=LEN(LTRIM(RTRIM(@Str1)))
IFLEN(LTRIM(RTRIM(@Str1)))<LEN(LTRIM(RTRIM(@Str2)))--THEN
SET@iLen=LEN(LTRIM(RTRIM(@Str2)))
WHILE(@i<@iLen)
BEGIN
IF(ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1)))--THEN
SET@i=@i+1
ELSE
BEGIN
SET@y=0
BREAK
END
END
RETURN@y
END

测试:

select*
fromTable1
Wheredbo.StrComp(Field1,'aAbB')=1


第三种:
SQL Server 数据库中的文本信息可以用大写字母、小写字母或二者的组合进行存储。例如,姓氏可以"SMITH"、"Smith"或"smith"等形式出现。

数据库是否区分大小写取决于 SQL Server 的安装方式。如果数据库区分大小写,当搜索文本数据时,必须用正确的大小写字母组合构造搜索条件。例如,如果搜索名字"Smith",则不能使用搜索条件"=smith"或"=SMITH"。

另外,如果服务器被安装成区分大小写,则必须用正确的大小写字母组合提供数据库、所有者、表和列的名称。如果提供的名称大小写不匹配,则 SQL Server 返回错误,报告"无效的对象名"。

当使用关系图窗格和网格窗格创建查询时,查询设计器始终正确地反映出服务器是否区分大小写。但是,如果在 SQL 窗格中输入查询,则必须注意使名称与服务器解释名称的方式相匹配。

如果服务器是用不区分大小写的选项安装的,则
提示 若要确定服务器是否区分大小写,请执行存储过程 sp_server_info,然后检查第 18 行的内容。如果服务器是用不区分大小写的设置安装的,则 sort_order 选项将设置为"不区分大小写"。可以从查询分析器运行存储过程。

第四种:

select*fromserverswhereconvert(varbinary,name)=convert(varbinary,N'RoCKEY')

第五种:

ascii('a')再配合Substring()一起用

F. 如何在SQL中实现区分大小写的查询

  1. 在创建数据库时,指定要区分大小写,或者后期再做更改也可以alter database dbname collate chinese_prc_cs_as

  2. 在创建表时,指定要区分大小写,或者后期再做更改也可以 alter table tbname collate chinese_prc_cs_as

  3. 如果只是想使用一次,不想修改整个表或整个数据库。

    3.1可以在使用时,将查询或使用到的字段,转成二进制形式进行比较就可以了(大小写的二进制形式肯定是不一样的~)

    3.2可以在查询或使用时,指名使用 简体中文做为数据库的查询规则。 指定SQL server的排序规则 Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS AS指定区分重音,同样如果不需要区分重音,则改为AI COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区分大小写的。 使用collate: select * from 表 where 字段='King' collate chinese_prc_cs_as 或者 转换为varbinary select * from 表 where convert(varbinary(1000),字段)=convert(varbinary(1000),'King')

G. mssql查询怎样去区分[大小写]及[全角半角]

在sql2000和7.0的查询语句中--区分大小写、全半角字符的方法--查询--1.查大写字母.区分全角半角select * from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --就是在字段名后加 collate Chinese_PRC_CS_AS_WS --1.查大写字母.不区分全角半角select * from 表where fd collate Chinese_PRC_CS_AS like '%A%' --就是在字段名后加 collate Chinese_PRC_CS_AS --2.查全角.区分大小写select * from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --3.查全角.不区分大小写select * from 表where fd collate Chinese_PRC_CI_AS_WS like '%A%' 排序规则的后半部份即后缀 含义: _BIN 二进制排序 _CI(CS) 是否区分大小写,CI不区分,CS区分 _AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分宽度 WI不区分,WS区分

H. 如何查看sql server是否区分大小写

看你设置的字符集:collate
有些字符集区分大小写,有些不区分大小写
语法:
alter database DBName collate Chinese_PRC_CI_AS

I. SQL SERVER如何判断某个字段包含大写字母

sql语句中默认是不区分大小写的,所以语句:
Sql代码
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'QQ'

Sql代码
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'qq'
查到的结果是一样的。
要查看某个字段是否包含大写字母 A 的脚本为:
Sql代码
select * from RecEngineBizInfo where RecEngineBizName collate Chinese_PRC_CS_AS_WS like '%A%'
www.jb51.net
要查看某个字段是否包含 大写字母 的脚本为:
Sql代码
SELECT * FROM RecEngineBizInfo rebi
WHERE rebi.RecEngineBizName COLLATE Chinese_PRC_CS_AS
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'
要查看某个字段是否包含 连续两个大写字母 的脚本为:
Sql代码
SELECT * FROM RecEngineAttributeInfo reai
WHERE reai.ZhiLing COLLATE Chinese_PRC_CS_AS
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'
依次类推。

J. SQL 如何区分大小写

昨天去客户,发现程序无法应用,跟踪错误提示,提示的大致意思是“数据库表名和数据库字段名不存在”。查询后发现是SQL Server数据库设置了区分大小写的缘故(一般安装时,Oracle的正确安装下是默认转换为大写;SQL Server数据库是不转换为大写,但是使用时并不区分大小写):
下面语句是设置SQL Server数据库是否区分大小写:(表名和数据库字段名)
--修改数据库不区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS
--修改数据库区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CS_AS
下面是数据库各行记录内容是否区分大小写:(一般在查询时的where条件中使用)
--不区分大小写
alter database 数据库名称 alter column 字段名称 字段类型 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CI_AS
--区分大小写
alter database 数据库名称 alter column 字段名称 字段类型 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CS_AS