3

我试图证明生产数据库中的表设计缺陷,即表不能在可以包含随机数据的列上具有聚集主键,在这种情况下是由最终用户键入的代码。

虽然我们知道解决方案是将 PK 设为非集群,但我仍然需要向其添加行以对其副本进行测试。因此,我需要知道在“Z”之后可以使用什么字符作为前缀。

此外,该列不是 unicode,在我的假数据前面加上一系列 Z 会很麻烦。该表现在有十万行,每次插入都需要几秒钟。

4

1 回答 1

8

只需运行它并从列表中删除。为了清楚起见,我添加了夹点,特别是。当涉及不可见字符时。

select number, '.' + char(number) + '.' collate SQL_Latin1_General_CP1_CI_AS thechar
from master..spt_values
where type='p' and number between 28 and 255
order by thechar

'Z' 之后只有 4 个字符,因为您说该列不是 N(Var)Char。

121 .y.
89  .Y.
253 .ý.
221 .Ý.
255 .ÿ.
90  .Z.
122 .z.
208 .Ð.
240 .ð.
254 .þ.
222 .Þ.
于 2012-10-15T02:48:27.350 回答