AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Eingabe Hex-Zahlen in PSQL
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe Hex-Zahlen in PSQL

Ein Thema von Artur · begonnen am 6. Sep 2008 · letzter Beitrag vom 7. Sep 2008
Antwort Antwort
Artur

Registriert seit: 31. Dez 2006
Ort: Augsburg
70 Beiträge
 
Delphi XE8 Enterprise
 
#1

Eingabe Hex-Zahlen in PSQL

  Alt 6. Sep 2008, 20:39
Datenbank: Firebird • Version: 2.1.1 • Zugriff über: Lokal / Netzwerk
Guten Abend,

für die Könner vermutlich eine simple Frage:

Wie gibt man Hexzahlen in Firebird PSQL ein?
Ich wollte mit bin_and(,) und einer Maske ermitteln, auf welchem Rechner die Datensätze eingegeben wurden:

SQL-Code:
  select *
  from kunden
  where (bin_and(db_guid, hexmaske) <> 0 )
Mein DB_GUID ist ein bigint, der über Trigger gefüllt wird und jeder Server hat einen anderen Startwert (z.B. 0x1000 0000 0000 0000). Aber 0x oder $ nimmt PSQL nicht an.


Ciao,

Artur
Artur
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Eingabe Hex-Zahlen in PSQL

  Alt 6. Sep 2008, 20:59
Das beste wäre wohl die Octets als Parameter zu übergeben.
Wenn die UDF dem Parameter das richtige Character Set gegeben hat, sollte FB autom. Strings als OCtets nutzen.
Wenn nicht, dann wäre wohl ein Cast nötig:
SQL-Code:
select *
  from kunden
  where (bin_and(db_guid, cast(:hexmaske as char(deineLänge) Character Set Octets)) <> 0 )
Das ist jetzt ungetestet und kann sich als kompletter Blödsinn herausstellen, aber so würde ich es versuchen...
(Ich nutze kaum noch DB-spezifische Features... )
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Artur

Registriert seit: 31. Dez 2006
Ort: Augsburg
70 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Eingabe Hex-Zahlen in PSQL

  Alt 7. Sep 2008, 10:09
Hi Elvis,

Danke für die Antwort. Auf dem Weg ging es leider nicht.
Ich habe die Maske jetzt einfach als Dezimalzahl eingetragen (7FFF000000000000 = 9223090561878065152)

Das hatte ich zuert schon probiert und hatte nur übersehen, dass ich nicht FFFF 0000 0000 0000 nehmen darf (weil das dann beim BIGINT ein negativer Wert wäre).

Wünsche einen schönen Sonntag...

Ciao,

Artur
Artur
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz