Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Eigene Sortierung

  Alt 19. Aug 2022, 13:45
Nur wie ändere ich die collation für ein vorhandenes Feld? Das beides klappt nicht, da er "collate" nicht kennt:

Code:
ALTER DOMAIN RDB$34 TYPE VARCHAR(15) CHARACTER SET UTF8 collate UNICODE_CI_AI_NUM;

alter table MyTable
alter column MyField
type varchar(15)
character set UTF8
collate UNICODE_CI_AI_NUM;
Man sollte besser mit domains arbeiten.
Machst du Felddefinitionen ohne domain, dann legt dir Firebird selbst eine domain "RDB$XXX" an.
Diese automatisch erzeugten domain kann man ändern:
update RDB$RELATION_FIELDS set RDB$COLLATION_ID = 2 where RDB$FIELD_NAME = 'feldname' and RDB$RELATION_NAME = 'tabellenname'

Arbeitest du mit domain, dann weist du dem Feld eine neue domain zu.
ALTER TABLE tabellenname ALTER COLUMN feldname TYPE neuer_domainnamw

SQL-Code:
CREATE DOMAIN D_VARCHAR_40_NUMSORT AS VARCHAR(40) CHARACTER SET UTF8 COLLATE UNICODE_NUM;
ALTER TABLE MYTABLE ALTER COLUMN MYFIELD TYPE D_VARCHAR_40_NUMSORT;
Frank
Frank Reim

Geändert von dataspider (19. Aug 2022 um 13:53 Uhr)
  Mit Zitat antworten Zitat