如何防止SSMS在设计视图时移除仅大小写不同的驼峰式别名?
解决SQL Server视图设计器移除大小写差异别名的问题
直接用T-SQL脚本创建/修改视图,别依赖图形化设计器
视图设计器默认会忽略大小写差异(除非数据库排序规则本身区分大小写),保存时会把仅大小写不同的别名还原成列名的大小写。直接写脚本就没这问题,比如:CREATE VIEW vw_Customer AS SELECT name AS Name, phone FROM customer;后续修改也用
ALTER VIEW语句,这样别名的大小写会被严格保留。给别名加方括号强制保留大小写
如果一定要用设计器,在写SELECT语句时给别名套上方括号,比如:SELECT name AS [Name] FROM customer;这样设计器会识别到这个别名是需要维持大小写格式的,不会自动把
[Name]改成name。谨慎修改数据库排序规则为区分大小写
要是你的业务场景必须全局区分大小写,可以把数据库排序规则改成带CS(Case Sensitive)标识的,比如SQL_Latin1_General_CP1_CS_AS。但注意这会影响整个数据库的所有查询和对象,比如WHERE name = 'Alice'和WHERE name = 'alice'会被当成不同条件,改之前一定要备份并充分测试现有业务逻辑。
内容的提问来源于stack exchange,提问作者MojoDK
相关产品推荐
相关产品推荐

