githubEdit

Numeric

Numeric types cover all Go integer and floating-point types with arithmetic operations, math functions, and type conversions.

Overview

Property
Value

Go Types

int, int8, int16, int32, int64, uint8, uint16, uint32, float32, float64, rune

Database Schema

int / float / option<int> / option<float>

CBOR Encoding

Direct

Sortable

Yes

Supported Types

Integer Types

Go Type
Range
DB Schema

int

Platform dependent

int

int8

-128 to 127

int with assertion

int16

-32768 to 32767

int with assertion

int32

-2B to 2B

int with assertion

int64

Full 64-bit

int

rune

Same as int32

int with assertion

Unsigned Integer Types

Go Type
Range
DB Schema

uint8 / byte

0 to 255

int with assertion

uint16

0 to 65535

int with assertion

uint32

0 to 4B

int with assertion

Note: uint, uint64, and uintptr are not supported due to SurrealDB integer limitations.

Floating-Point Types

Go Type
Precision
DB Schema

float32

32-bit

float

float64

64-bit

float

Definition

Schema

Generated SurrealDB schema:

Filter Operations

Equality Operations

Set Membership

Comparison Operations

Arithmetic Operations

All arithmetic operations return a Float filter:

Math Functions

Type Conversion

Convert between numeric types:

Duration Conversion

Convert numbers to duration filters:

Time Conversion

Convert numbers to time filters:

Nil Operations (Pointer Types Only)

Zero Value Check

Sorting

Method Chaining

Numeric filters support powerful chaining:

Complete Example

Filter Reference Table

Operation
Description
Returns

Equal(val)

Exact match

Bool filter

NotEqual(val)

Not equal

Bool filter

In(vals...)

Value in set

Bool filter

NotIn(vals...)

Value not in set

Bool filter

LessThan(val)

Strictly less

Bool filter

LessThanEqual(val)

Less or equal

Bool filter

GreaterThan(val)

Strictly greater

Bool filter

GreaterThanEqual(val)

Greater or equal

Bool filter

Add(val)

Addition

Float filter

Sub(val)

Subtraction

Float filter

Mul(val)

Multiplication

Float filter

Div(val)

Division

Float filter

Raise(val)

Exponentiation

Float filter

Abs()

Absolute value

Float filter

Sqrt()

Square root

Float filter

Ceil()

Round up

Float filter

Floor()

Round down

Float filter

Round()

Round nearest

Float filter

Fixed(places)

Fixed decimals

Float filter

Int()

To int

Int filter

Int8()

To int8

Int filter

Int16()

To int16

Int filter

Int32()

To int32

Int filter

Int64()

To int64

Int filter

Uint()

To uint

Int filter

Uint8()

To uint8

Int filter

Uint16()

To uint16

Int filter

Uint32()

To uint32

Int filter

Uint64()

To uint64

Int filter

Float32()

To float32

Float filter

Float64()

To float64

Float filter

AsDurationSecs()

To duration

Duration filter

AsDurationMillis()

To duration

Duration filter

AsDurationMins()

To duration

Duration filter

AsDurationHours()

To duration

Duration filter

AsDurationDays()

To duration

Duration filter

AsDurationWeeks()

To duration

Duration filter

AsDurationMicros()

To duration

Duration filter

AsDurationNanos()

To duration

Duration filter

AsTimeUnix()

To time

Time filter

AsTimeSecs()

To time

Time filter

AsTimeMillis()

To time

Time filter

AsTimeMicros()

To time

Time filter

AsTimeNanos()

To time

Time filter

Zero(bool)

Check zero

Bool filter

Truth()

To boolean

Bool filter

IsNil()

Is null (ptr)

Bool filter

IsNotNil()

Not null (ptr)

Bool filter

Last updated