Unsere Anwendung hat die folgende Tabellendefinition:Wie kann ich eine Spalte mit einem 0-9-Hash-Text in einer anderen Spalte erstellen?
CREATE TABLE [dbo].[Phrase] (
[PhraseId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
[English] NVARCHAR (250) NOT NULL,
[EnglishHash] AS (CONVERT([bigint],hashbytes('md5',[English])%(5)+(5))) PERSISTED,
PRIMARY KEY CLUSTERED ([PhraseId] ASC)
);
Die Absicht für die EnglishHash Säule war ein Wert von entweder 0,1,2,3,4,5,6,7,8 oder 9 zu sein
Allerdings wird es nur geben, Werte: 1,2,3,4,5,6,7,8 oder 9
kann mir jemand helfen, zu erklären, wie ich das ändern kann, so gibt es Werte 0-9 inklusive ?
Beachten Sie, dass ich den Vorschlag von Sandip ausprobiert habe. Das gibt mir eine Verteilung aber über 11.000 zeichnet die Verteilung nicht das, was ich erwartet hatte:
0 593
9 652
3 1324
6 1253
7 1293
1 1932
4 1325
5 1282
2 1295
8 635
nur neugierig, In welcher circumtances i so berechnetem columns.any Beispiel erstellen Sie können sogar Runde verwenden deklarieren @i nvarchar (250) = 'd' wählen abs (rund (CONVERT ([bigint], hashbytes ('md5', @ i)), 1)% (5)) – KumarHarsh
Können Sie ple Zeigen Sie mir Ihre Daten in der Tabelle –
Nun, da Sie eine Anforderung hinzugefügt haben, dass die statistische Verteilung "was ich erwartet habe" sein muss, was ist die Verteilung von '[English]' Werten? Es gibt keinen Hinweis darauf, dass sie einzigartig sind. – HABO