Gewusst wie: einfügen von Hex-Daten in die oracle-Tabelle?
Ich habe die folgende Tabelle:
create table o_newstdata1 (
field1 raw(8)
);
den folgenden Eingang.Daten-Datei:
0x12345678
0x1234
0x12
wie kann ich das einfügen solcher Daten in mein o_newstdata1 Tabelle?
Ich habe versucht, es zu laden, als eine varchar-Daten:
load data
INFILE '/export/home/mine/input.data'
replace
into table o_newstdata1
trailing nullcols
(
field1 varchar (8)
)
Abgefragt und so etwas wie dieses:
select field1 from o_newstdata1 where utl_raw.cast_to_raw(field1) like '0x1234';
aber es funktioniert nicht, irgendwelche Vorschläge?
welcher Teil funktioniert nicht, welche Ausnahmen Sie bekommen?
keine Zeilen ausgewählt
Was hat der SQL*Loader log-Datei sagen?
ohne Fehler
sqlfiddle.com/#!4/91610/3
keine Zeilen ausgewählt
Was hat der SQL*Loader log-Datei sagen?
ohne Fehler
sqlfiddle.com/#!4/91610/3
InformationsquelleAutor fen1ksss | 2013-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es möglicherweise zwei Fehlerquellen:
Um zu überprüfen, ob die Abfrage funktioniert, verwenden Sie so etwas wie:
Brauchen Sie nicht zu werfen, um eine raw verwenden, können Sie Oracle-hex-format direkt. Version 1 verwendet eine implizite Konvertierung von
RAW
ZUVARCHAR2
version 2 explizite Konvertierung:InformationsquelleAutor wolφi
Sollte der Datentyp nicht angegeben werden, die als RAW?
Aus der docs:
InformationsquelleAutor David Aldridge
Wenn Ihre Daten nicht wirklich binary/raw (angegeben durch die Größe der Spalte), aber nur eine Nummer, die Sie speichern könnte es als eine Zahl.
Hex ist nur eine Möglichkeit, um darstellen eine Anzahl (einer notation). Also ich würde einfach speichern Sie es als eine numerische, und legte eine Ansicht oben drauf, so dass Sie sehen können/Abfrage hex-Werte direkt.
Diese Weise könnte man sogar hinzufügen oder vergleichen Sie diese Werte in die Datenbank.
InformationsquelleAutor Beryllium