Hallo!

> SQL Server 2000, Tabelle test, 3 Felder wie folgt:
> 
>   feld0  int 4
>   feld1 nvarchar 20
>   feld2 ntext 16
> 
> Nun sind in der Tabelle Duplikate, insbesondere in feld2.
> 
> Alle Versuche mit Distinct (geht grdtzl. nicht), aber auch 
> Versuche mit group by feld2 having xyz ergab nur Fehlermeldungen.
> 
> Hier also die Frage:
> 
> Wie muss Select aussehen, dass im Record keine Duplikate 
> angezeigt werden, obwohl es sich um ein ntext handelt?

Falls der Inhalt von "feld2" immer maximal 4.018 Zeichen lang ist,
kannst Du das Feld in NVARCHAR(8036) umwandeln und ganz normal damit
arbeiten.

Wenn es aber unbedingt ein NTEXT-Feld sein muss, musst Du hier die
Funktion SUBSTRING verwenden. Eine Datenzeile darf nicht mehr als 8.060
Bytes enthalten, also k�nntest Du z. B.

SELECT DISTINCT feld0, feld1, SUBSTRING(Feld2, 1, 4018) FROM test

Allerdings mutest Du der DB damit schon einen geh�rigen Aufwand zu. Wenn
irgendwie m�glich, solltest Du bei VARCHAR-Feldern bleiben, wenn Du die
Feldinhalte bearbeiten, vergleichen oder sortieren musst. Alternativ
dazu kann man den Inhalt in zwei Spalten (NVARCHAR und NTEXT) aufteilen.

Freundliche Gr��e
Joachim van de Bruck


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an