小编Tim*_*Tim的帖子

结合全文索引和标量索引

假设我们有一个包含 1200 万个姓名和地址的数据库,需要使用全文进行搜索,但每一行也包含一个整数值,比方说COMPANYID。该表在这 1200 万行中包含大约 250 个不同的 COMPANYID。

在定义全文索引时,是否有可能COMPANY在树中为每个索引提供自己的“分支”?

index sql-server full-text-search sql-server-2012

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

网格结果中的 SSMS 和 Unicode 字体

我写了这个简单的更新查询:

\n\n
update foo set test =\'\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd\xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\x97\' where id = 1\n
Run Code Online (Sandbox Code Playgroud)\n\n

[test] 是 nvarchar(16) 列。它将包含一个加密值。

\n\n

在 SSMS (10.50) 中,我已将网格结果和文本结果的字体设置为 Lucida Sans Unicode。字形 (\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd\xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\ x97) 显示在查询编辑器窗口中。但网格结果和文本结果窗口总是显示简单的问号“?????????”而不是\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd \xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\x97。

\n\n

在“工具”->“选项”中更改字体后,我关闭并打开 SSMS。

\n\n

任何建议,将不胜感激。我通常不需要理解本专栏的内容,但在测试以确保客户端应用程序发送正确的数据时,看到问号以外的其他内容会很有帮助。

\n

ssms

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

表值函数对于插入顺序是否具有确定性?

假设不使用 ORDER BY 子句,在实例化表并用连续插入填充表的 TABLE 值函数中,插入顺序是否具有确定性?

我需要查看发送给我们的给定数据集中使用的 Unicode 字符范围,以便弄清楚为什么 SSMS 中的查询结果中的某些空格(或者至少在眼睛看来是空格)没有被使用。在某些解析例程中,其行为类似于 char(32)。因此,我编写了一个快速而肮脏的函数,将相关列中的字符串值转换为一组可以查询的元组:

create function [foo].[AllChars]
(@in nvarchar(max))
returns @t TABLE (c nchar(1))
as
begin


declare @i int;
while len(@in)>0
begin
   insert @t(c) values (left(@in,1));
   set @in = substring(@in, 2, len(@in)-1)
end

return;
end
Run Code Online (Sandbox Code Playgroud)

可以这样称呼:

   select X.c theChar, unicode(X.c) uValue
   from myTable T
   cross apply foo.AllChars(T.myCol) X
Run Code Online (Sandbox Code Playgroud)

并将为myTable中的每一行返回一组元组:

t  116
h  104
e  101
   32
c  99
a  97
t  116
   10   <= culprit
i  105
n  110
   32 …
Run Code Online (Sandbox Code Playgroud)

sql-server determinism t-sql set-returning-functions non-deterministic

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