sql server大小写敏感

当修改默认排序规则的时候,经常会出现无法用排他锁锁定该数据库的错误

首先应该去掉其他的访问线程

CREATE TABLE #HarveyLock
(
 SPID  INT,
 DBID  INT,
 OBJID  INT,
 INDID  INT,
 TYPE  VARCHAR(100),
 RESOURCE VARCHAR(100),
 MODE  VARCHAR(100),
 STATUS  VARCHAR(100)
)

INSERT INTO #HarveyLock EXEC SP_LOCK

SELECT distinct 'kill ' + convert(varchar,SPID )  FROM #HarveyLock

杀死线程后,在修改数据库的排序规则

 

 

表  
  ALTER   TABLE   表名字  
    ALTER   COLUMN   列名字 nvarchar(100)(类型)   COLLATE   Chinese_PRC_CI_AS    
  --不区分大小写  

  ALTER   TABLE   tb    
    ALTER   COLUMN   colname   nvarchar(100)   COLLATE   Chinese_PRC_CS_AS    
  --区分大小写  


修改到字段
还有一种在   设计表中-字段-排序规则-。。。设置区分大小写

  数据库  
  ALTER   DATABASE   database    
  COLLATE   Chinese_PRC_CS_AS    
  --区分大小写  
   
  ALTER   DATABASE   database    
    COLLATE   Chinese_PRC_CI_AS    
  --不区分大小写  


指定排序规则即可
  Windows   排序规则名称    
  在COLLATE子句中指定Windows排序规则名称。Windows排序规则名称由排序规则指示器和比较风格构成。    
  语法:   
    ::   =    
         CollationDesignator_  
                ::=    
                  CaseSensitivity_AccentSensitivity    
                  [_KanatypeSensitive   [_WidthSensitive   ]   ]    
                  |   _BIN    
   
  参数    
  CollationDesignator    
   指定Windows 排序规则使用的基本排序规则。基本排序规则包括:    
  
  当指定按字典排序时应用其排序规则的字母表或语言  
   
   
  用于存储非   Unicode   字符数据的代码页。    
  例如   Latin1_General   或法文,两者都使用代码页   1252,或土耳其文,它使用代码页   1254。    
   
  CaseSensitivity  
   
  CI   指定不区分大小写,CS   指定区分大小写。  
   
  AccentSensitivity  
   
  AI   指定不区分重音,AS   指定区分重音。  
   
  KanatypeSensitive  
   
  Omitted   指定不区分大小写,KS   指定区分假名类型。  
   
  WidthSensitivity  
   
  Omitted   指定不区分大小写,WS   指定区分大小写。  
   
  BIN  
   
  指定使用二进制排序次序。    



UPPER (Transact-SQL)

返回小写字符数据转换为大写的字符表达式。

Transact-SQL 语法约定

语法

UPPER ( character_expression ) 参数
character_expression
一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。

character_expression 的数据类型必须可隐式转换为 varchar。否则,请使用 CAST 显式转换 character_expression。

返回类型
varchar 或nvarchar

LOWER
将大写字符数据转换为小写字符数据后返回字符表达式。

语法
LOWER ( character_expression )

参数
character_expression

是字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐性转换为 varchar 的数据类型。否则,使用 CAST 显式转换 character_expression。

返回类型
varchar

 

你可能感兴趣的:(sqlserver)