小编Nob*_*ife的帖子

要替换什么左边连接在一个视图中,所以我可以有一个索引视图?

我在数据库中对表进行了规范化并对其进行了非规范化,我从两个表中创建了一个视图.当我尝试在视图上创建聚簇索引时,它不会让我,因为视图是使用左外连接创建的.我使用了左连接,因为我希望在结果视图中显示空值,就像在之前的帖子中建议的那样.

关于连接的问题,其中一列一侧为空

表结构和关系与上面链接中描述的非常相似.

我似乎在这里撞墙,因为我无法将我的左连接转换为内连接,因为这将排除任何连接列上具有空值的所有记录.我的问题是:

  1. 为什么外部或自联接不允许索引?
  2. 这种未编入索引的视图是否有性能点击?
  3. 任何人都知道这个问题的解决方法吗?

我昨天刚刚完成了一个SQL Server课程,所以不知道如何继续.非常感谢任何评论.干杯.

sql sql-server indexed view

18
推荐指数
3
解决办法
2万
查看次数

替换MS SQL Server中的特定Unicode字符

我正在使用MS SQL Server Express 2012.

我在网格结果中删除unicode字符U + 02CC(十进制:716)时遇到问题.原文是'λeˌβár'.

我试过这样,它不起作用:

SELECT ColumnTextWithUnicode, REPLACE(ColumnTextWithUnicode , '?','') 
FROM TableName
Run Code Online (Sandbox Code Playgroud)

该列具有Latin1_General_CI_AS排序规则,数据类型为nvarchar.我尝试将排序规则更改为二进制文件,但也没有成功:

SELECT ColumnTextWithUnicode, REPLACE(ColumnTextWithUnicode collate Latin1_General_BIN, '?' collate Latin1_General_BIN,'') 
FROM  TableName
Run Code Online (Sandbox Code Playgroud)

甚至使用NChar()函数,如:

SELECT ColumnTextWithUnicode, REPLACE(ColumnTextWithUnicode , NCHAR(716),'') 
FROM TableName
Run Code Online (Sandbox Code Playgroud)

所有三个结果都是'λeˌβár'.

但是,如果我将列转换为varchar,如:

SELECT ColumnTextWithUnicode, REPLACE(CAST(ColumnTextWithUnicode as varchar(100)), '?','') 
FROM TableName
Run Code Online (Sandbox Code Playgroud)

结果变为'eßár',删除第一个字符和'ˌ'.

任何想法只删除'ˌ'?

sql-server replace unicode-string

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql-server ×2

indexed ×1

replace ×1

sql ×1

unicode-string ×1

view ×1