值类表示任何类型的单个值。
API参考概览
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_varint(duckdb_varint 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_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_varint duckdb_get_varint(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_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
销毁值并释放为该类型分配的所有内存。
语法
void duckdb_destroy_value(
duckdb_value *value
);
参数
value
: 要销毁的值。
duckdb_create_varchar
从以 null 结尾的字符串创建一个值
语法
duckdb_value duckdb_create_varchar(
const char *text
);
参数
text
: 以 null 结尾的字符串
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_varchar_length
从字符串创建一个值
语法
duckdb_value duckdb_create_varchar_length(
const char *text,
idx_t length
);
参数
text
: 文本length
: 文本的长度
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_bool
从布尔值创建一个值
语法
duckdb_value duckdb_create_bool(
bool input
);
参数
input
: 布尔值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_int8
从 int8_t(一个 tinyint)创建一个值
语法
duckdb_value duckdb_create_int8(
int8_t input
);
参数
input
: tinyint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uint8
从 uint8_t(一个 utinyint)创建一个值
语法
duckdb_value duckdb_create_uint8(
uint8_t input
);
参数
input
: utinyint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_int16
从 int16_t(一个 smallint)创建一个值
语法
duckdb_value duckdb_create_int16(
int16_t input
);
参数
input
: smallint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uint16
从 uint16_t(一个 usmallint)创建一个值
语法
duckdb_value duckdb_create_uint16(
uint16_t input
);
参数
input
: usmallint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_int32
从 int32_t(一个整数)创建一个值
语法
duckdb_value duckdb_create_int32(
int32_t input
);
参数
input
: 整数值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uint32
从 uint32_t(一个 uinteger)创建一个值
语法
duckdb_value duckdb_create_uint32(
uint32_t input
);
参数
input
: uinteger 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uint64
从 uint64_t(一个 ubigint)创建一个值
语法
duckdb_value duckdb_create_uint64(
uint64_t input
);
参数
input
: ubigint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_int64
从 int64 创建一个值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
语法
duckdb_value duckdb_create_int64(
int64_t val
);
duckdb_create_hugeint
从 hugeint 创建一个值
语法
duckdb_value duckdb_create_hugeint(
duckdb_hugeint input
);
参数
input
: hugeint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uhugeint
从 uhugeint 创建一个值
语法
duckdb_value duckdb_create_uhugeint(
duckdb_uhugeint input
);
参数
input
: uhugeint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_varint
从 duckdb_varint 创建一个 VARINT 值
语法
duckdb_value duckdb_create_varint(
duckdb_varint input
);
参数
input
: duckdb_varint 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_decimal
从 duckdb_decimal 创建一个 DECIMAL 值
语法
duckdb_value duckdb_create_decimal(
duckdb_decimal input
);
参数
input
: duckdb_decimal 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_float
从 float 创建一个值
语法
duckdb_value duckdb_create_float(
float input
);
参数
input
: float 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_double
从 double 创建一个值
语法
duckdb_value duckdb_create_double(
double input
);
参数
input
: double 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_date
从日期创建一个值
语法
duckdb_value duckdb_create_date(
duckdb_date input
);
参数
input
: 日期值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_time
从时间创建一个值
语法
duckdb_value duckdb_create_time(
duckdb_time input
);
参数
input
: 时间值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_time_tz_value
从 time_tz 创建一个值。不要与 duckdb_create_time_tz
混淆,后者创建 duckdb_time_tz_t。
语法
duckdb_value duckdb_create_time_tz_value(
duckdb_time_tz value
);
参数
value
: time_tz 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_timestamp
从 duckdb_timestamp 创建一个 TIMESTAMP 值
语法
duckdb_value duckdb_create_timestamp(
duckdb_timestamp input
);
参数
input
: duckdb_timestamp 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_timestamp_tz
从 duckdb_timestamp 创建一个 TIMESTAMP_TZ 值
语法
duckdb_value duckdb_create_timestamp_tz(
duckdb_timestamp input
);
参数
input
: duckdb_timestamp 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_timestamp_s
从 duckdb_timestamp_s 创建一个 TIMESTAMP_S 值
语法
duckdb_value duckdb_create_timestamp_s(
duckdb_timestamp_s input
);
参数
input
: duckdb_timestamp_s 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_timestamp_ms
从 duckdb_timestamp_ms 创建一个 TIMESTAMP_MS 值
语法
duckdb_value duckdb_create_timestamp_ms(
duckdb_timestamp_ms input
);
参数
input
: duckdb_timestamp_ms 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_timestamp_ns
从 duckdb_timestamp_ns 创建一个 TIMESTAMP_NS 值
语法
duckdb_value duckdb_create_timestamp_ns(
duckdb_timestamp_ns input
);
参数
input
: duckdb_timestamp_ns 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_interval
从 interval 创建一个值
语法
duckdb_value duckdb_create_interval(
duckdb_interval input
);
参数
input
: interval 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_blob
从 blob 创建一个值
语法
duckdb_value duckdb_create_blob(
const uint8_t *data,
idx_t length
);
参数
data
: blob 数据length
: blob 数据的长度
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_bit
从 duckdb_bit 创建一个 BIT 值
语法
duckdb_value duckdb_create_bit(
duckdb_bit input
);
参数
input
: duckdb_bit 值
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_create_uuid
从 uhugeint 创建一个 UUID 值
语法
duckdb_value duckdb_create_uuid(
duckdb_uhugeint input
);
参数
input
: 包含 UUID 的 duckdb_uhugeint
返回值
该值。 必须使用 duckdb_destroy_value
销毁此值。
duckdb_get_bool
返回给定值的布尔值。
语法
bool duckdb_get_bool(
duckdb_value val
);
参数
val
: 包含布尔值的 duckdb_value
返回值
一个布尔值,如果值无法转换,则为 false
duckdb_get_int8
返回给定值的 int8_t 值。
语法
int8_t duckdb_get_int8(
duckdb_value val
);
参数
val
: 包含 tinyint 的 duckdb_value
返回值
一个 int8_t,或 MinValue
duckdb_get_uint8
返回给定值的 uint8_t 值。
语法
uint8_t duckdb_get_uint8(
duckdb_value val
);
参数
val
: 包含 utinyint 的 duckdb_value
返回值
一个 uint8_t,或 MinValue
duckdb_get_int16
返回给定值的 int16_t 值。
语法
int16_t duckdb_get_int16(
duckdb_value val
);
参数
val
: 包含 smallint 的 duckdb_value
返回值
一个 int16_t,或 MinValue
duckdb_get_uint16
返回给定值的 uint16_t 值。
语法
uint16_t duckdb_get_uint16(
duckdb_value val
);
参数
val
: 包含 usmallint 的 duckdb_value
返回值
一个 uint16_t,或 MinValue
duckdb_get_int32
返回给定值的 int32_t 值。
语法
int32_t duckdb_get_int32(
duckdb_value val
);
参数
val
: 包含整数的 duckdb_value
返回值
一个 int32_t,或 MinValue
duckdb_get_uint32
返回给定值的 uint32_t 值。
语法
uint32_t duckdb_get_uint32(
duckdb_value val
);
参数
val
: 包含 uinteger 的 duckdb_value
返回值
一个 uint32_t,或 MinValue
duckdb_get_int64
返回给定值的 int64_t 值。
语法
int64_t duckdb_get_int64(
duckdb_value val
);
参数
val
: 包含 bigint 的 duckdb_value
返回值
一个 int64_t,或 MinValue
duckdb_get_uint64
返回给定值的 uint64_t 值。
语法
uint64_t duckdb_get_uint64(
duckdb_value val
);
参数
val
: 包含 ubigint 的 duckdb_value
返回值
一个 uint64_t,或 MinValue
duckdb_get_hugeint
返回给定值的 hugeint 值。
语法
duckdb_hugeint duckdb_get_hugeint(
duckdb_value val
);
参数
val
: 包含 hugeint 的 duckdb_value
返回值
一个 duckdb_hugeint,或 MinValue
duckdb_get_uhugeint
返回给定值的 uhugeint 值。
语法
duckdb_uhugeint duckdb_get_uhugeint(
duckdb_value val
);
参数
val
: 包含 uhugeint 的 duckdb_value
返回值
一个 duckdb_uhugeint,或 MinValue
duckdb_get_varint
返回给定值的 duckdb_varint 值。 data
字段必须使用 duckdb_free
销毁。
语法
duckdb_varint duckdb_get_varint(
duckdb_value val
);
参数
val
: 包含 VARINT 的 duckdb_value
返回值
一个 duckdb_varint。 data
字段必须使用 duckdb_free
销毁。
duckdb_get_decimal
返回给定值的 duckdb_decimal 值。
语法
duckdb_decimal duckdb_get_decimal(
duckdb_value val
);
参数
val
: 包含 DECIMAL 的 duckdb_value
返回值
一个 duckdb_decimal,或 MinValue
duckdb_get_float
返回给定值的 float 值。
语法
float duckdb_get_float(
duckdb_value val
);
参数
val
: 包含 float 的 duckdb_value
返回值
一个 float,如果值无法转换,则为 NAN
duckdb_get_double
返回给定值的 double 值。
语法
double duckdb_get_double(
duckdb_value val
);
参数
val
: 包含 double 的 duckdb_value
返回值
一个 double,如果值无法转换,则为 NAN
duckdb_get_date
返回给定值的日期值。
语法
duckdb_date duckdb_get_date(
duckdb_value val
);
参数
val
: 包含日期的 duckdb_value
返回值
一个 duckdb_date,或 MinValue
duckdb_get_time
返回给定值的时间值。
语法
duckdb_time duckdb_get_time(
duckdb_value val
);
参数
val
: 包含时间的 duckdb_value
返回值
一个 duckdb_time,或 MinValue
duckdb_get_time_tz
返回给定值的 time_tz 值。
语法
duckdb_time_tz duckdb_get_time_tz(
duckdb_value val
);
参数
val
: 包含 time_tz 的 duckdb_value
返回值
一个 duckdb_time_tz,或 MinValue
duckdb_get_timestamp
返回给定值的 TIMESTAMP 值。
语法
duckdb_timestamp duckdb_get_timestamp(
duckdb_value val
);
参数
val
: 包含 TIMESTAMP 的 duckdb_value
返回值
一个 duckdb_timestamp,或 MinValue
duckdb_get_timestamp_tz
返回给定值的 TIMESTAMP_TZ 值。
语法
duckdb_timestamp duckdb_get_timestamp_tz(
duckdb_value val
);
参数
val
: 包含 TIMESTAMP_TZ 的 duckdb_value
返回值
一个 duckdb_timestamp,或 MinValue
duckdb_get_timestamp_s
返回给定值的 duckdb_timestamp_s 值。
语法
duckdb_timestamp_s duckdb_get_timestamp_s(
duckdb_value val
);
参数
val
: 包含 TIMESTAMP_S 的 duckdb_value
返回值
一个 duckdb_timestamp_s,或 MinValue
duckdb_get_timestamp_ms
返回给定值的 duckdb_timestamp_ms 值。
语法
duckdb_timestamp_ms duckdb_get_timestamp_ms(
duckdb_value val
);
参数
val
: 包含 TIMESTAMP_MS 的 duckdb_value
返回值
一个 duckdb_timestamp_ms,或 MinValue
duckdb_get_timestamp_ns
返回给定值的 duckdb_timestamp_ns 值。
语法
duckdb_timestamp_ns duckdb_get_timestamp_ns(
duckdb_value val
);
参数
val
: 包含 TIMESTAMP_NS 的 duckdb_value
返回值
一个 duckdb_timestamp_ns,或 MinValue
duckdb_get_interval
返回给定值的 interval 值。
语法
duckdb_interval duckdb_get_interval(
duckdb_value val
);
参数
val
: 包含 interval 的 duckdb_value
返回值
一个 duckdb_interval,或 MinValue
duckdb_get_value_type
返回给定值的类型。只要值未被销毁,该类型就有效。该类型本身不得销毁。
语法
duckdb_logical_type duckdb_get_value_type(
duckdb_value val
);
参数
val
: 一个 duckdb_value
返回值
一个 duckdb_logical_type。
duckdb_get_blob
返回给定值的 blob 值。
语法
duckdb_blob duckdb_get_blob(
duckdb_value val
);
参数
val
: 包含 blob 的 duckdb_value
返回值
一个 duckdb_blob
duckdb_get_bit
返回给定值的 duckdb_bit 值。 data
字段必须使用 duckdb_free
销毁。
语法
duckdb_bit duckdb_get_bit(
duckdb_value val
);
参数
val
: 包含 BIT 的 duckdb_value
返回值
一个 duckdb_bit
duckdb_get_uuid
返回一个 duckdb_uhugeint,表示给定值的 UUID 值。
语法
duckdb_uhugeint duckdb_get_uuid(
duckdb_value val
);
参数
val
: 包含 UUID 的 duckdb_value
返回值
一个 duckdb_uhugeint,表示 UUID 值
duckdb_get_varchar
获取给定值的字符串表示形式。结果必须使用 duckdb_free
销毁。
语法
char *duckdb_get_varchar(
duckdb_value value
);
参数
value
: 值
返回值
字符串值。 必须使用 duckdb_free
销毁此值。
duckdb_create_struct_value
从类型和值数组创建一个 struct 值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_struct_value(
duckdb_logical_type type,
duckdb_value *values
);
参数
type
: struct 的类型values
: struct 字段的值
返回值
struct 值,如果任何子类型是 DUCKDB_TYPE_ANY
或 DUCKDB_TYPE_INVALID
,则为 nullptr。
duckdb_create_list_value
从子(元素)类型和长度为 value_count
的值数组创建一个列表值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_list_value(
duckdb_logical_type type,
duckdb_value *values,
idx_t value_count
);
参数
type
: 列表的类型values
: 列表的值value_count
: 列表中的值数
返回值
列表值,如果子类型是 DUCKDB_TYPE_ANY
或 DUCKDB_TYPE_INVALID
,则为 nullptr。
duckdb_create_array_value
从子(元素)类型和长度为 value_count
的值数组创建一个数组值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_array_value(
duckdb_logical_type type,
duckdb_value *values,
idx_t value_count
);
参数
type
: 数组的类型values
: 数组的值value_count
: 数组中的值数
返回值
数组值,如果子类型是 DUCKDB_TYPE_ANY
或 DUCKDB_TYPE_INVALID
,则为 nullptr。
duckdb_create_map_value
从映射类型和两个数组(一个用于键,一个用于值,每个数组的长度为 entry_count
)创建一个映射值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_map_value(
duckdb_logical_type map_type,
duckdb_value *keys,
duckdb_value *values,
idx_t entry_count
);
参数
map_type
: 映射类型keys
: 映射的键values
: 映射的值entry_count
: 映射中的条目数(键值对)
返回值
映射值,如果参数无效,则为 nullptr。
duckdb_create_union_value
从联合类型、标签索引和一个值创建一个联合值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_union_value(
duckdb_logical_type union_type,
idx_t tag_index,
duckdb_value value
);
参数
union_type
: 联合类型tag_index
: 联合的标签索引value
: 联合的值
返回值
联合值,如果参数无效,则为 nullptr。
duckdb_get_map_size
返回 MAP 值中的元素数。
语法
idx_t duckdb_get_map_size(
duckdb_value value
);
参数
value
: MAP 值。
返回值
映射中的元素数。
duckdb_get_map_key
返回索引处的 MAP 键作为 duckdb_value。
语法
duckdb_value duckdb_get_map_key(
duckdb_value value,
idx_t index
);
参数
value
: MAP 值。index
: 键的索引。
返回值
作为 duckdb_value 的键。
duckdb_get_map_value
返回索引处的 MAP 值作为 duckdb_value。
语法
duckdb_value duckdb_get_map_value(
duckdb_value value,
idx_t index
);
参数
value
: MAP 值。index
: 值的索引。
返回值
作为 duckdb_value 的值。
duckdb_is_null_value
返回值的类型是否为 SQLNULL。
语法
bool duckdb_is_null_value(
duckdb_value value
);
参数
value
: 要检查的值。
返回值
如果值的类型为 SQLNULL,则为 True,否则为 false。
duckdb_create_null_value
创建一个 SQLNULL 类型的值。
返回值
表示 SQLNULL 的 duckdb_value。必须使用 duckdb_destroy_value
销毁此值。
语法
duckdb_value duckdb_create_null_value(
);
duckdb_get_list_size
返回 LIST 值中的元素数。
语法
idx_t duckdb_get_list_size(
duckdb_value value
);
参数
value
: LIST 值。
返回值
列表中的元素数。
duckdb_get_list_child
返回索引处的 LIST 子项作为 duckdb_value。
语法
duckdb_value duckdb_get_list_child(
duckdb_value value,
idx_t index
);
参数
value
: LIST 值。index
: 子项的索引。
返回值
作为 duckdb_value 的子项。
duckdb_create_enum_value
从类型和一个值创建一个 enum 值。必须使用 duckdb_destroy_value
销毁。
语法
duckdb_value duckdb_create_enum_value(
duckdb_logical_type type,
uint64_t value
);
参数
type
: enum 的类型value
: enum 的值
返回值
enum 值,或 nullptr。
duckdb_get_enum_value
返回给定值的 enum 值。
语法
uint64_t duckdb_get_enum_value(
duckdb_value value
);
参数
value
: 包含 enum 的 duckdb_value
返回值
一个 uint64_t,或 MinValue
duckdb_get_struct_child
返回索引处的 STRUCT 子项作为 duckdb_value。
语法
duckdb_value duckdb_get_struct_child(
duckdb_value value,
idx_t index
);
参数
value
: STRUCT 值。index
: 子项的索引。
返回值
作为 duckdb_value 的子项。
duckdb_value_to_string
返回给定值的 SQL 字符串表示形式。
语法
char *duckdb_value_to_string(
duckdb_value value
);
参数
value
: 一个 duckdb_value。
返回值
SQL 字符串表示形式,作为以 null 结尾的字符串。结果必须使用 duckdb_free
释放。