SQL Server check case-sensitivity?(SQL Server 检查区分大小写?)
问题描述
如何检查 SQL Server 中的数据库是否区分大小写?我之前一直在运行查询:
How can I check to see if a database in SQL Server is case-sensitive? I have previously been running the query:
SELECT CASE WHEN 'A' = 'a' THEN 'NOT CASE SENSITIVE' ELSE 'CASE SENSITIVE' END
但我正在寻找其他方法,因为这实际上给我带来了过去的问题.
But I am looking for other ways as this has actually given me issues in the past.
编辑 - 更多信息:现有产品具有许多预先编写的存储过程.在存储过程中 @test != @TEST 取决于服务器本身的敏感性.所以我正在寻找的是检查服务器敏感性的最佳方法.
Edit - A little more info:
An existing product has many pre-written stored procedures. In a stored procedure @test != @TEST depending on the sensitivity of the server itself. So what I'm looking for is the best way to check the server for its sensitivity.
推荐答案
Collation 可以在不同级别设置:
Collation can be set at various levels:
- 服务器
- 数据库
- 列
因此,您可以在不区分大小写的数据库中设置区分大小写的列.我还没有遇到过可以针对单列数据的大小写敏感度制定业务案例的情况,但我想可能会.
So you could have a Case Sensitive Column in a Case Insensitive database. I have not yet come across a situation where a business case could be made for case sensitivity of a single column of data, but I suppose there could be.
检查服务器整理
SELECT SERVERPROPERTY('COLLATION')
检查数据库整理
SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation') SQLCollation;
检查列整理
select table_name, column_name, collation_name
from INFORMATION_SCHEMA.COLUMNS
where table_name = @table_name
这篇关于SQL Server 检查区分大小写?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SQL Server 检查区分大小写?
基础教程推荐
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 在多列上分布任意行 2021-01-01
