Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#1

VarChar-Feld numerisch sortieren

  Alt 7. Mär 2018, 10:25
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Per Default-Verhalten werden Zahlen in VarChar-Feldern wie folgt sortiert:

Code:
1
10
100
2
20
Ich möchte nun aber eine Sortierung in numerischer Reihenefolge:

Code:
1
2
10
20
100
In der Firebird-Hilfe steht, dass man sich eine "collation" mit dieser Sortierung wie folgt anlegen kann:

SQL-Code:
create collation UNICODE_NUM for utf8
from UNICODE_CI_AI 'NUMERIC-SORT=1';
Das wird ohne Problem ausgeführt.

Wenn ich diese collation nun aber einem neuen Feld nutzen möchte, erscheint der folgende Fehler:

SQL-Code:
ALTER TABLE MyTable
ADD MyCol VARCHAR(10) CHARACTER SET UNICODE_NUM
Fehler:
Code:
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Data type unknown.
CHARACTER SET UNICODE_NUM is not defined.
Was mache ich falsch? Vielen Dank im Voraus!

PS: In meinem Feld stehen sowohl Texte als auch Zahlen und beides auch gemischt (z.B. 100HX12). Deswegen kann ich kein Integer-Feld nehmen.
  Mit Zitat antworten Zitat