Skip to content
Course content preview

10: Affixes

Another way to make a datetime is by using the d prefix. Affixes look similar to casts but are instructions to parse input as a certain type, rather than to convert into another type. Thanks to this, the queries below won't even run because the parser can already see that the last one won't work.

-- Works
<datetime>'1859-11-26';
-- Returns an error
<datetime>'EIGHTEEN FIFTY NINE, NOVEMBER TWENTY SIX';
-- Works
d'1859-11-26';
-- Query won't even run
d'EIGHTEEN FIFTY NINE, NOVEMBER TWENTY SIX';


Output
"There was a problem with the database: Parse error: Invalid datetime,
expected digit character found `E`
--> [8:3]
  |
8 | d'EIGHTEEN FIFTY NINE, NOVEMBER TWENTY SIX';
  |   ^ 
"


Another example where you would want to avoid a cast is when using the decimal type, a numeric type used for greater precision or extra large numbers. In all programming languages, a float with too many digits after the decimal point will become imprecise.

1000.0000000000001;
1000.00000000000001;


Output · Query 1
1000.0000000000001f
Output · Query 2
1000f


But if you use a cast on such a number, the database will first create an imprecise float and then cast it into a decimal. So you don't want to use a cast either.

<decimal>1000.00000000000001;


Output
1000dec


Using the dec suffix solves the problem by telling the database to treat the input as a decimal instead of a float.

1000.00000000000001dec;


Output
1000.00000000000001dec


THE PLATFORM

Everything an application and its agents know. Five surfaces, one engine.

IN PRODUCTION

Trusted at scale. Samsung, Nvidia, Verizon, Tencent, and Walmart run on SurrealDB.

14,000+

Developers building on SurrealDB Cloud

4M+

Developers building on SurrealDB worldwide

FROM THE TEAMS

SurrealDB gives us a foundation where we can unify semantic search, knowledge graphs, and AI-driven decision making without stitching together multiple systems. Collapsing responsibility into SurrealDB has become our default engineering posture.
Justin Foley

VP of Engineering, Later

SurrealDB

The context and memory layer for AI agents

Database. Graphs, vectors, documents and relational data in one engine, in a single ACID transaction.
Agent Memory. Connects and retrieves context wherever your data lives, every fact carrying its source.
Cloud. Fully managed, in the cloud provider and region you choose.

Explore with AI

Copyright © 2026 SurrealDB Ltd. Registered in England and Wales. Company no. 13615201

Registered address: 3rd Floor 1 Ashley Road, Altrincham, Cheshire, WA14 2DT, United Kingdom

Trading address: Huckletree Oxford Circus, 213 Oxford Street, London, W1D 2LG, United Kingdom