Zum Inhalt springen

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 Text
  • length: 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-Daten
  • length: 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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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, wenn der Wert nicht konvertiert werden kann


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 Structs
  • values: 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 Liste
  • values: Die Werte für die Liste
  • value_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 Arrays
  • values: Die Werte für das Array
  • value_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-Typ
  • keys: Die Keys der Map
  • values: Die Values der Map
  • entry_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-Typ
  • tag_index: Der Index des Tags der Union
  • value: 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 Enums
  • value: 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, wenn der Wert nicht konvertiert werden kann


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.