Werte
Die Value-Klasse repräsentiert einen einzelnen Wert beliebigen Typs.
API-Referenz im Überblick
void duckdb_destroy_value(duckdb_value *value);
duckdb_value duckdb_create_varchar(const char *text);
duckdb_value duckdb_create_varchar_length(const char *text, idx_t length);
duckdb_value duckdb_create_bool(bool input);
duckdb_value duckdb_create_int8(int8_t input);
duckdb_value duckdb_create_uint8(uint8_t input);
duckdb_value duckdb_create_int16(int16_t input);
duckdb_value duckdb_create_uint16(uint16_t input);
duckdb_value duckdb_create_int32(int32_t input);
duckdb_value duckdb_create_uint32(uint32_t input);
duckdb_value duckdb_create_uint64(uint64_t input);
duckdb_value duckdb_create_int64(int64_t val);
duckdb_value duckdb_create_hugeint(duckdb_hugeint input);
duckdb_value duckdb_create_uhugeint(duckdb_uhugeint input);
duckdb_value duckdb_create_bignum(duckdb_bignum input);
duckdb_value duckdb_create_decimal(duckdb_decimal input);
duckdb_value duckdb_create_float(float input);
duckdb_value duckdb_create_double(double input);
duckdb_value duckdb_create_date(duckdb_date input);
duckdb_value duckdb_create_time(duckdb_time input);
duckdb_value duckdb_create_time_ns(duckdb_time_ns input);
duckdb_value duckdb_create_time_tz_value(duckdb_time_tz value);
duckdb_value duckdb_create_timestamp(duckdb_timestamp input);
duckdb_value duckdb_create_timestamp_tz(duckdb_timestamp input);
duckdb_value duckdb_create_timestamp_s(duckdb_timestamp_s input);
duckdb_value duckdb_create_timestamp_ms(duckdb_timestamp_ms input);
duckdb_value duckdb_create_timestamp_ns(duckdb_timestamp_ns input);
duckdb_value duckdb_create_interval(duckdb_interval input);
duckdb_value duckdb_create_blob(const uint8_t *data, idx_t length);
duckdb_value duckdb_create_bit(duckdb_bit input);
duckdb_value duckdb_create_uuid(duckdb_uhugeint input);
bool duckdb_get_bool(duckdb_value val);
int8_t duckdb_get_int8(duckdb_value val);
uint8_t duckdb_get_uint8(duckdb_value val);
int16_t duckdb_get_int16(duckdb_value val);
uint16_t duckdb_get_uint16(duckdb_value val);
int32_t duckdb_get_int32(duckdb_value val);
uint32_t duckdb_get_uint32(duckdb_value val);
int64_t duckdb_get_int64(duckdb_value val);
uint64_t duckdb_get_uint64(duckdb_value val);
duckdb_hugeint duckdb_get_hugeint(duckdb_value val);
duckdb_uhugeint duckdb_get_uhugeint(duckdb_value val);
duckdb_bignum duckdb_get_bignum(duckdb_value val);
duckdb_decimal duckdb_get_decimal(duckdb_value val);
float duckdb_get_float(duckdb_value val);
double duckdb_get_double(duckdb_value val);
duckdb_date duckdb_get_date(duckdb_value val);
duckdb_time duckdb_get_time(duckdb_value val);
duckdb_time_ns duckdb_get_time_ns(duckdb_value val);
duckdb_time_tz duckdb_get_time_tz(duckdb_value val);
duckdb_timestamp duckdb_get_timestamp(duckdb_value val);
duckdb_timestamp duckdb_get_timestamp_tz(duckdb_value val);
duckdb_timestamp_s duckdb_get_timestamp_s(duckdb_value val);
duckdb_timestamp_ms duckdb_get_timestamp_ms(duckdb_value val);
duckdb_timestamp_ns duckdb_get_timestamp_ns(duckdb_value val);
duckdb_interval duckdb_get_interval(duckdb_value val);
duckdb_logical_type duckdb_get_value_type(duckdb_value val);
duckdb_blob duckdb_get_blob(duckdb_value val);
duckdb_bit duckdb_get_bit(duckdb_value val);
duckdb_uhugeint duckdb_get_uuid(duckdb_value val);
char *duckdb_get_varchar(duckdb_value value);
duckdb_value duckdb_create_struct_value(duckdb_logical_type type, duckdb_value *values);
duckdb_value duckdb_create_list_value(duckdb_logical_type type, duckdb_value *values, idx_t value_count);
duckdb_value duckdb_create_array_value(duckdb_logical_type type, duckdb_value *values, idx_t value_count);
duckdb_value duckdb_create_map_value(duckdb_logical_type map_type, duckdb_value *keys, duckdb_value *values, idx_t entry_count);
duckdb_value duckdb_create_union_value(duckdb_logical_type union_type, idx_t tag_index, duckdb_value value);
idx_t duckdb_get_map_size(duckdb_value value);
duckdb_value duckdb_get_map_key(duckdb_value value, idx_t index);
duckdb_value duckdb_get_map_value(duckdb_value value, idx_t index);
bool duckdb_is_null_value(duckdb_value value);
duckdb_value duckdb_create_null_value();
idx_t duckdb_get_list_size(duckdb_value value);
duckdb_value duckdb_get_list_child(duckdb_value value, idx_t index);
duckdb_value duckdb_create_enum_value(duckdb_logical_type type, uint64_t value);
uint64_t duckdb_get_enum_value(duckdb_value value);
duckdb_value duckdb_get_struct_child(duckdb_value value, idx_t index);
char *duckdb_value_to_string(duckdb_value value);
duckdb_destroy_value
Zerstört den Wert und gibt den gesamten für diesen Typ allokierten Speicher frei.
Syntax
void duckdb_destroy_value(
duckdb_value *value
);
Parameter
value: Der zu zerstörende Wert.
duckdb_create_varchar
Erzeugt einen Wert aus einer null-terminierten Zeichenkette
Syntax
duckdb_value duckdb_create_varchar(
const char *text
);
Parameter
text: Die null-terminierte Zeichenkette
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_varchar_length
Erzeugt einen Wert aus einer Zeichenkette
Syntax
duckdb_value duckdb_create_varchar_length(
const char *text,
idx_t length
);
Parameter
text: Der Textlength: Die Länge des Texts
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_bool
Erzeugt einen Wert aus einem Boolean
Syntax
duckdb_value duckdb_create_bool(
bool input
);
Parameter
input: Der Boolean-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_int8
Erzeugt einen Wert aus einem int8_t (einem Tinyint)
Syntax
duckdb_value duckdb_create_int8(
int8_t input
);
Parameter
input: Der Tinyint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uint8
Erzeugt einen Wert aus einem uint8_t (einem Utinyint)
Syntax
duckdb_value duckdb_create_uint8(
uint8_t input
);
Parameter
input: Der Utinyint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_int16
Erzeugt einen Wert aus einem int16_t (einem Smallint)
Syntax
duckdb_value duckdb_create_int16(
int16_t input
);
Parameter
input: Der Smallint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uint16
Erzeugt einen Wert aus einem uint16_t (einem Usmallint)
Syntax
duckdb_value duckdb_create_uint16(
uint16_t input
);
Parameter
input: Der Usmallint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_int32
Erzeugt einen Wert aus einem int32_t (einem Integer)
Syntax
duckdb_value duckdb_create_int32(
int32_t input
);
Parameter
input: Der Integer-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uint32
Erzeugt einen Wert aus einem uint32_t (einem Uinteger)
Syntax
duckdb_value duckdb_create_uint32(
uint32_t input
);
Parameter
input: Der Uinteger-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uint64
Erzeugt einen Wert aus einem uint64_t (einem Ubigint)
Syntax
duckdb_value duckdb_create_uint64(
uint64_t input
);
Parameter
input: Der Ubigint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_int64
Erzeugt einen Wert aus einem int64
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_int64(
int64_t val
);
duckdb_create_hugeint
Erzeugt einen Wert aus einem Hugeint
Syntax
duckdb_value duckdb_create_hugeint(
duckdb_hugeint input
);
Parameter
input: Der Hugeint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uhugeint
Erzeugt einen Wert aus einem Uhugeint
Syntax
duckdb_value duckdb_create_uhugeint(
duckdb_uhugeint input
);
Parameter
input: Der Uhugeint-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_bignum
Erzeugt einen BIGNUM-Wert aus einem duckdb_bignum
Syntax
duckdb_value duckdb_create_bignum(
duckdb_bignum input
);
Parameter
input: Der duckdb_bignum-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_decimal
Erzeugt einen DECIMAL-Wert aus einem duckdb_decimal
Syntax
duckdb_value duckdb_create_decimal(
duckdb_decimal input
);
Parameter
input: Der duckdb_decimal-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_float
Erzeugt einen Wert aus einem Float
Syntax
duckdb_value duckdb_create_float(
float input
);
Parameter
input: Der Float-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_double
Erzeugt einen Wert aus einem Double
Syntax
duckdb_value duckdb_create_double(
double input
);
Parameter
input: Der Double-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_date
Erzeugt einen Wert aus einem Date
Syntax
duckdb_value duckdb_create_date(
duckdb_date input
);
Parameter
input: Der Date-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_time
Erzeugt einen Wert aus einer Time
Syntax
duckdb_value duckdb_create_time(
duckdb_time input
);
Parameter
input: Der Time-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_time_ns
Erzeugt einen Wert aus einer time_ns
Syntax
duckdb_value duckdb_create_time_ns(
duckdb_time_ns input
);
Parameter
input: Der Time-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_time_tz_value
Erzeugt einen Wert aus einer time_tz.
Nicht zu verwechseln mit duckdb_create_time_tz, das ein duckdb_time_tz_t erzeugt.
Syntax
duckdb_value duckdb_create_time_tz_value(
duckdb_time_tz value
);
Parameter
value: Der time_tz-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_timestamp
Erzeugt einen TIMESTAMP-Wert aus einem duckdb_timestamp
Syntax
duckdb_value duckdb_create_timestamp(
duckdb_timestamp input
);
Parameter
input: Der duckdb_timestamp-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_timestamp_tz
Erzeugt einen TIMESTAMP_TZ-Wert aus einem duckdb_timestamp
Syntax
duckdb_value duckdb_create_timestamp_tz(
duckdb_timestamp input
);
Parameter
input: Der duckdb_timestamp-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_timestamp_s
Erzeugt einen TIMESTAMP_S-Wert aus einem duckdb_timestamp_s
Syntax
duckdb_value duckdb_create_timestamp_s(
duckdb_timestamp_s input
);
Parameter
input: Der duckdb_timestamp_s-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_timestamp_ms
Erzeugt einen TIMESTAMP_MS-Wert aus einem duckdb_timestamp_ms
Syntax
duckdb_value duckdb_create_timestamp_ms(
duckdb_timestamp_ms input
);
Parameter
input: Der duckdb_timestamp_ms-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_timestamp_ns
Erzeugt einen TIMESTAMP_NS-Wert aus einem duckdb_timestamp_ns
Syntax
duckdb_value duckdb_create_timestamp_ns(
duckdb_timestamp_ns input
);
Parameter
input: Der duckdb_timestamp_ns-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_interval
Erzeugt einen Wert aus einem Interval
Syntax
duckdb_value duckdb_create_interval(
duckdb_interval input
);
Parameter
input: Der Interval-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_blob
Erzeugt einen Wert aus einem Blob
Syntax
duckdb_value duckdb_create_blob(
const uint8_t *data,
idx_t length
);
Parameter
data: Die Blob-Datenlength: Die Länge der Blob-Daten
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_bit
Erzeugt einen BIT-Wert aus einem duckdb_bit
Syntax
duckdb_value duckdb_create_bit(
duckdb_bit input
);
Parameter
input: Der duckdb_bit-Wert
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_create_uuid
Erzeugt einen UUID-Wert aus einem Uhugeint
Syntax
duckdb_value duckdb_create_uuid(
duckdb_uhugeint input
);
Parameter
input: Das duckdb_uhugeint, das die UUID enthält
Rückgabewert
Der Wert. Dieser muss mit duckdb_destroy_value zerstört werden.
duckdb_get_bool
Gibt den Boolean-Wert des angegebenen Werts zurück.
Syntax
bool duckdb_get_bool(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen Boolean enthält
Rückgabewert
Ein Boolean, oder false, wenn der Wert nicht konvertiert werden kann
duckdb_get_int8
Gibt den int8_t-Wert des angegebenen Werts zurück.
Syntax
int8_t duckdb_get_int8(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Tinyint enthält
Rückgabewert
Ein int8_t, oder MinValue
duckdb_get_uint8
Gibt den uint8_t-Wert des angegebenen Werts zurück.
Syntax
uint8_t duckdb_get_uint8(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Utinyint enthält
Rückgabewert
Ein uint8_t, oder MinValue
duckdb_get_int16
Gibt den int16_t-Wert des angegebenen Werts zurück.
Syntax
int16_t duckdb_get_int16(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Smallint enthält
Rückgabewert
Ein int16_t, oder MinValue
duckdb_get_uint16
Gibt den uint16_t-Wert des angegebenen Werts zurück.
Syntax
uint16_t duckdb_get_uint16(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Usmallint enthält
Rückgabewert
Ein uint16_t, oder MinValue
duckdb_get_int32
Gibt den int32_t-Wert des angegebenen Werts zurück.
Syntax
int32_t duckdb_get_int32(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Integer enthält
Rückgabewert
Ein int32_t, oder MinValue
duckdb_get_uint32
Gibt den uint32_t-Wert des angegebenen Werts zurück.
Syntax
uint32_t duckdb_get_uint32(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Uinteger enthält
Rückgabewert
Ein uint32_t, oder MinValue
duckdb_get_int64
Gibt den int64_t-Wert des angegebenen Werts zurück.
Syntax
int64_t duckdb_get_int64(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Bigint enthält
Rückgabewert
Ein int64_t, oder MinValue
duckdb_get_uint64
Gibt den uint64_t-Wert des angegebenen Werts zurück.
Syntax
uint64_t duckdb_get_uint64(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Ubigint enthält
Rückgabewert
Ein uint64_t, oder MinValue
duckdb_get_hugeint
Gibt den Hugeint-Wert des angegebenen Werts zurück.
Syntax
duckdb_hugeint duckdb_get_hugeint(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Hugeint enthält
Rückgabewert
Ein duckdb_hugeint, oder MinValue
duckdb_get_uhugeint
Gibt den Uhugeint-Wert des angegebenen Werts zurück.
Syntax
duckdb_uhugeint duckdb_get_uhugeint(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Uhugeint enthält
Rückgabewert
Ein duckdb_uhugeint, oder MinValue
duckdb_get_bignum
Gibt den duckdb_bignum-Wert des angegebenen Werts zurück.
Das Feld data muss mit duckdb_free zerstört werden.
Syntax
duckdb_bignum duckdb_get_bignum(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein BIGNUM enthält
Rückgabewert
Ein duckdb_bignum. Das Feld data muss mit duckdb_free zerstört werden.
duckdb_get_decimal
Gibt den duckdb_decimal-Wert des angegebenen Werts zurück.
Syntax
duckdb_decimal duckdb_get_decimal(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein DECIMAL enthält
Rückgabewert
Ein duckdb_decimal, oder MinValue
duckdb_get_float
Gibt den Float-Wert des angegebenen Werts zurück.
Syntax
float duckdb_get_float(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen Float enthält
Rückgabewert
Ein Float, oder NAN, wenn der Wert nicht konvertiert werden kann
duckdb_get_double
Gibt den Double-Wert des angegebenen Werts zurück.
Syntax
double duckdb_get_double(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen Double enthält
Rückgabewert
Ein Double, oder NAN, wenn der Wert nicht konvertiert werden kann
duckdb_get_date
Gibt den Date-Wert des angegebenen Werts zurück.
Syntax
duckdb_date duckdb_get_date(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Date enthält
Rückgabewert
Ein duckdb_date, oder MinValue
duckdb_get_time
Gibt den Time-Wert des angegebenen Werts zurück.
Syntax
duckdb_time duckdb_get_time(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das eine Time enthält
Rückgabewert
Ein duckdb_time, oder MinValue
duckdb_get_time_ns
Gibt den time_ns-Wert des angegebenen Werts zurück.
Syntax
duckdb_time_ns duckdb_get_time_ns(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das eine time_ns enthält
Rückgabewert
Ein duckdb_time_ns, oder MinValue<time_ns>, wenn der Wert nicht konvertiert werden kann
duckdb_get_time_tz
Gibt den time_tz-Wert des angegebenen Werts zurück.
Syntax
duckdb_time_tz duckdb_get_time_tz(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das eine time_tz enthält
Rückgabewert
Ein duckdb_time_tz, oder MinValue<time_tz>, wenn der Wert nicht konvertiert werden kann
duckdb_get_timestamp
Gibt den TIMESTAMP-Wert des angegebenen Werts zurück.
Syntax
duckdb_timestamp duckdb_get_timestamp(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen TIMESTAMP enthält
Rückgabewert
Ein duckdb_timestamp, oder MinValue
duckdb_get_timestamp_tz
Gibt den TIMESTAMP_TZ-Wert des angegebenen Werts zurück.
Syntax
duckdb_timestamp duckdb_get_timestamp_tz(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen TIMESTAMP_TZ enthält
Rückgabewert
Ein duckdb_timestamp, oder MinValue<timestamp_tz>, wenn der Wert nicht konvertiert werden kann
duckdb_get_timestamp_s
Gibt den duckdb_timestamp_s-Wert des angegebenen Werts zurück.
Syntax
duckdb_timestamp_s duckdb_get_timestamp_s(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen TIMESTAMP_S enthält
Rückgabewert
Ein duckdb_timestamp_s, oder MinValue<timestamp_s>, wenn der Wert nicht konvertiert werden kann
duckdb_get_timestamp_ms
Gibt den duckdb_timestamp_ms-Wert des angegebenen Werts zurück.
Syntax
duckdb_timestamp_ms duckdb_get_timestamp_ms(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen TIMESTAMP_MS enthält
Rückgabewert
Ein duckdb_timestamp_ms, oder MinValue<timestamp_ms>, wenn der Wert nicht konvertiert werden kann
duckdb_get_timestamp_ns
Gibt den duckdb_timestamp_ns-Wert des angegebenen Werts zurück.
Syntax
duckdb_timestamp_ns duckdb_get_timestamp_ns(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das einen TIMESTAMP_NS enthält
Rückgabewert
Ein duckdb_timestamp_ns, oder MinValue<timestamp_ns>, wenn der Wert nicht konvertiert werden kann
duckdb_get_interval
Gibt den Interval-Wert des angegebenen Werts zurück.
Syntax
duckdb_interval duckdb_get_interval(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Interval enthält
Rückgabewert
Ein duckdb_interval, oder MinValue
duckdb_get_value_type
Gibt den Typ des angegebenen Werts zurück. Der Typ ist gültig, solange der Wert nicht zerstört wird. Der Typ selbst darf nicht zerstört werden.
Syntax
duckdb_logical_type duckdb_get_value_type(
duckdb_value val
);
Parameter
val: Ein duckdb_value
Rückgabewert
Ein duckdb_logical_type.
duckdb_get_blob
Gibt den Blob-Wert des angegebenen Werts zurück.
Syntax
duckdb_blob duckdb_get_blob(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein Blob enthält
Rückgabewert
Ein duckdb_blob
duckdb_get_bit
Gibt den duckdb_bit-Wert des angegebenen Werts zurück.
Das Feld data muss mit duckdb_free zerstört werden.
Syntax
duckdb_bit duckdb_get_bit(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das ein BIT enthält
Rückgabewert
Ein duckdb_bit
duckdb_get_uuid
Gibt ein duckdb_uhugeint zurück, das den UUID-Wert des angegebenen Werts repräsentiert.
Syntax
duckdb_uhugeint duckdb_get_uuid(
duckdb_value val
);
Parameter
val: Ein duckdb_value, das eine UUID enthält
Rückgabewert
Ein duckdb_uhugeint, das den UUID-Wert repräsentiert
duckdb_get_varchar
Ermittelt eine String-Darstellung des angegebenen Werts.
Das Ergebnis muss mit duckdb_free zerstört werden.
Syntax
char *duckdb_get_varchar(
duckdb_value value
);
Parameter
value: Der Wert
Rückgabewert
Der String-Wert. Dieser muss mit duckdb_free zerstört werden.
duckdb_create_struct_value
Erzeugt einen Struct-Wert aus einem Typ und einem Array von Werten. Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_struct_value(
duckdb_logical_type type,
duckdb_value *values
);
Parameter
type: Der Typ des Structsvalues: Die Werte für die Struct-Felder
Rückgabewert
Der Struct-Wert, oder nullptr, wenn ein Child-Typ DUCKDB_TYPE_ANY oder DUCKDB_TYPE_INVALID ist.
duckdb_create_list_value
Erzeugt einen List-Wert aus einem Child-(Element-)Typ und einem Array von Werten der Länge value_count.
Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_list_value(
duckdb_logical_type type,
duckdb_value *values,
idx_t value_count
);
Parameter
type: Der Typ der Listevalues: Die Werte für die Listevalue_count: Die Anzahl der Werte in der Liste
Rückgabewert
Der List-Wert, oder nullptr, wenn der Child-Typ DUCKDB_TYPE_ANY oder DUCKDB_TYPE_INVALID ist.
duckdb_create_array_value
Erzeugt einen Array-Wert aus einem Child-(Element-)Typ und einem Array von Werten der Länge value_count.
Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_array_value(
duckdb_logical_type type,
duckdb_value *values,
idx_t value_count
);
Parameter
type: Der Typ des Arraysvalues: Die Werte für das Arrayvalue_count: Die Anzahl der Werte im Array
Rückgabewert
Der Array-Wert, oder nullptr, wenn der Child-Typ DUCKDB_TYPE_ANY oder DUCKDB_TYPE_INVALID ist.
duckdb_create_map_value
Erzeugt einen Map-Wert aus einem Map-Typ und zwei Arrays, eines für die Keys und eines für die Values, jeweils der Länge
entry_count. Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_map_value(
duckdb_logical_type map_type,
duckdb_value *keys,
duckdb_value *values,
idx_t entry_count
);
Parameter
map_type: Der Map-Typkeys: Die Keys der Mapvalues: Die Values der Mapentry_count: Die Anzahl der Einträge (Key-Value-Paare) in der Map
Rückgabewert
Der Map-Wert, oder nullptr, wenn die Parameter ungültig sind.
duckdb_create_union_value
Erzeugt einen Union-Wert aus einem Union-Typ, einem Tag-Index und einem Wert.
Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_union_value(
duckdb_logical_type union_type,
idx_t tag_index,
duckdb_value value
);
Parameter
union_type: Der Union-Typtag_index: Der Index des Tags der Unionvalue: Der Wert der Union für dieses Tag
Rückgabewert
Der Union-Wert, oder nullptr, wenn die Parameter ungültig sind.
duckdb_get_map_size
Gibt die Anzahl der Elemente in einem MAP-Wert zurück.
Syntax
idx_t duckdb_get_map_size(
duckdb_value value
);
Parameter
value: Der MAP-Wert.
Rückgabewert
Die Anzahl der Elemente in der Map.
duckdb_get_map_key
Gibt den MAP-Key am Index als duckdb_value zurück.
Syntax
duckdb_value duckdb_get_map_key(
duckdb_value value,
idx_t index
);
Parameter
value: Der MAP-Wert.index: Der Index des Keys.
Rückgabewert
Der Key als duckdb_value.
duckdb_get_map_value
Gibt den MAP-Value am Index als duckdb_value zurück.
Syntax
duckdb_value duckdb_get_map_value(
duckdb_value value,
idx_t index
);
Parameter
value: Der MAP-Wert.index: Der Index des Values.
Rückgabewert
Der Value als duckdb_value.
duckdb_is_null_value
Gibt zurück, ob der Typ des Werts SQLNULL ist oder nicht.
Syntax
bool duckdb_is_null_value(
duckdb_value value
);
Parameter
value: Der zu prüfende Wert.
Rückgabewert
True, wenn der Typ des Werts SQLNULL ist, andernfalls false.
duckdb_create_null_value
Erzeugt einen Wert vom Typ SQLNULL.
Rückgabewert
Das duckdb_value, das SQLNULL repräsentiert. Dieses muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_null_value(
);
duckdb_get_list_size
Gibt die Anzahl der Elemente in einem LIST-Wert zurück.
Syntax
idx_t duckdb_get_list_size(
duckdb_value value
);
Parameter
value: Der LIST-Wert.
Rückgabewert
Die Anzahl der Elemente in der Liste.
duckdb_get_list_child
Gibt das LIST-Child am Index als duckdb_value zurück.
Syntax
duckdb_value duckdb_get_list_child(
duckdb_value value,
idx_t index
);
Parameter
value: Der LIST-Wert.index: Der Index des Childs.
Rückgabewert
Das Child als duckdb_value.
duckdb_create_enum_value
Erzeugt einen Enum-Wert aus einem Typ und einem Wert. Muss mit duckdb_destroy_value zerstört werden.
Syntax
duckdb_value duckdb_create_enum_value(
duckdb_logical_type type,
uint64_t value
);
Parameter
type: Der Typ des Enumsvalue: Der Wert für das Enum
Rückgabewert
Der Enum-Wert, oder nullptr.
duckdb_get_enum_value
Gibt den Enum-Wert des angegebenen Werts zurück.
Syntax
uint64_t duckdb_get_enum_value(
duckdb_value value
);
Parameter
value: Ein duckdb_value, das ein Enum enthält
Rückgabewert
Ein uint64_t, oder MinValue
duckdb_get_struct_child
Gibt das STRUCT-Child am Index als duckdb_value zurück.
Syntax
duckdb_value duckdb_get_struct_child(
duckdb_value value,
idx_t index
);
Parameter
value: Der STRUCT-Wert.index: Der Index des Childs.
Rückgabewert
Das Child als duckdb_value.
duckdb_value_to_string
Gibt die SQL-String-Darstellung des angegebenen Werts zurück.
Syntax
char *duckdb_value_to_string(
duckdb_value value
);
Parameter
value: Ein duckdb_value.
Rückgabewert
Die SQL-String-Darstellung als null-terminierte Zeichenkette. Das Ergebnis muss mit duckdb_free freigegeben werden.