2016-05-19 12 views
1

Ich habe eine Tabelle in SQL Server 2008 mit der folgenden Spalte:SQL Server - Warum zeigt die Spalte keine vollständige Zeichenfolge an?

Column Name|Data Type |Allow Nulls 
FullName |nvarchar(250)|Yes 

Wenn ich versuche, einen neuen Vollständiger Name länger als 10 Zeichen setzen Sie sie etwas nach den 10 Zeichen abschneidet.

Zum Beispiel:

INSERT INTO ..(FullName) 
VALUES ('Apple EnPearSSSS') 

Ergebnisse in der Datenbank:

FullName | 
Apple EnPe | 

Erwartete Ergebnisse:

FullName   | 
Apple EnPearSSSS | 

Warum ist die Spalte Limit auf 10 Zeichen?

Die tatsächlichen Ergebnisse nach Alias ​​für das ausgewählte Feld hinzufügen:

FULLNAME     .| 
1|Apple EnPe     | 
2|Test vriri     | 
3|new lfll     | 
4|abcdefghij     | 

Lösung: Das Problem hier ist die Fullname einfügen gibt es eine gespeicherte Prozedur mit @FullName auf nvarchar10 beschränkt. Daher wurden alle Einfügungen, die über die gespeicherte Prozedur ausgeführt wurden, abgeschnitten, weil das Datentyplimit für die gespeicherte Prozedur festgelegt wurde und nicht für die Tabelle. Wenn ich etwas einfüge, ohne die gespeicherte Prozedur zu verwenden, funktioniert es wie beabsichtigt.

+1

Verwenden Sie Management Studio? Sie müssen möglicherweise nur die Größe der Spalte ändern, um die gesamte Zeichenfolge anzupassen. –

+0

Ja, ich bin, bitte erläutern Sie, was Sie meinen, indem Sie die Spalte verkleinern? –

+0

Sie können die Spalten im Raster ziehen, um mehr von jeder Zelle zu sehen. Genauso wie das Erweitern von Spalten in Excel. –

Antwort

0

Versuchen Sie das ausgewählte Feld

SELECT FullName as [FullName    .] FROM YourTable 

Der Alias ​​wird erweitern die Spaltenbreite an Alias.

+0

Leider funktioniert nicht, immer noch das Limit für die Spalte. Von dem oben angegebenen Link aus gibt es keine Problemumgehungen - aktualisieren Sie einfach auf neuere SSMS. Gibt es noch etwas, woran Sie denken könnten? –

+0

Können Sie eine Bildschirmaufnahme machen und uns zeigen, was smss 2008 mit der obigen Abfrage zeigt? – ydoow

+0

Zu Frage hinzugefügt unter Tatsächliches Ergebnis: der | Hier stoppt die Spalte. –

0

Versuchen Sie, den Datentyp Ihrer Spalte auf VARCHAR zu ändern.

+0

VARCHAR-Datentyp hat nicht funktioniert, ich habe nicht freigegeben. Es gab eine gespeicherte Prozedur, die dazu führte, dass die Einfügung abgeschnitten wurde. –

+0

Nun, ich schlage vor, wenn Sie keine Unicode-Zeichen verwenden, ändern Sie Ihren Datentyp in VARCHAR. NVARCHAR nimmt 2 Bytes pro Zeichen in Ihrem Speicher auf, während VARCHAR nur 1 Byte pro Zeichen beansprucht. – jelliaes

Verwandte Themen