如果查看的表(或视图)区分大小写,是否可以使视图不区分大小写?
我查看了一个数据库,该数据库查看区分大小写的另一台服务器(我无法更改)上的视图,并存储在所有大写字母中。我希望我的观点不区分大小写,但我找不到办法。整理仅适用于select语句,因为我无法更改视图以添加排序规则。该表的属性显示它不区分大小写,但它不是。
的结果
exec sp_help 'dbo.myView'
表明排序规则区分大小写。有没有办法做到这一点?
答案 0 :(得分:0)
CREATE TABLE tb_CollateTest (str varchar(max))
GO
INSERT tb_CollateTest VALUES
('Unique')
,('uNiQuE')
GO
CREATE VIEW vw_CollateTest AS
SELECT
str COLLATE SQL_Latin1_General_CP1_CS_AS AS str
FROM tb_CollateTest
GROUP BY str COLLATE SQL_Latin1_General_CP1_CS_AS
GO
SELECT * FROM vw_CollateTest
str
----------
Unique
uNiQuE
(2 row(s) affected)
答案 1 :(得分:0)
只需将COLLATE SQL_Latin1_General_CP1_CI_AS
添加到来自远程表的列中。
CREATE VIEW [dbo].[myView] (
TextColumn1,
Column2,
TextColumn3)
AS
SELECT
t.TextColumn1 COLLATE SQL_Latin1_General_CP1_CI_AS,
t.Column2,
t.TextColumn3 COLLATE SQL_Latin1_General_CP1_CI_AS
FROM
RemoteServer.dbo.REMOTE_TABLE AS t
GO
<强>参考:强>