- Documentation
- Installation
- Data Import
- Client APIs
- SQL
- Introduction
- Statements
- Overview
- Select
- Insert
- Delete
- Update
- Create Schema
- Create Table
- Create View
- Create Sequence
- Create Macro
- Drop
- Alter Table
- Copy
- Export
- Query Syntax
- Data Types
- Expressions
- Functions
- Overview
- Numeric Functions
- Text Functions
- Pattern Matching
- Date Functions
- Timestamp Functions
- Time Functions
- Interval Functions
- Date Formats
- Date Parts
- Blob Functions
- Nested Functions
- Indexes
- Aggregates
- Window Functions
- Samples
- Pragmas
- Full Text Search
- Development
- Sitemap
- Why DuckDB
- FAQ
- Code of Conduct
- Live Demo
Text Types
Version 0.3.1
In DuckDB, strings can be stored in the VARCHAR
field.
Name | Aliases | Description |
---|---|---|
VARCHAR |
CHAR , BPCHAR , TEXT , STRING |
variable-length character string |
VARCHAR(n) |
variable-length character string with maximum length n |
It is possible to supply a maximum length along with the type by initializing a type as VARCHAR(n)
, where n
is a positive integer. Note that specifying this length is not required, and specifying this length will not improve performance or reduce storage space of the strings in the database. Specifying a maximum length is useful only for data integrity reasons, not for performance reasons. In fact, the following SQL statements are equivalent:
-- the following statements are equivalent
CREATE TABLE strings(
val VARCHAR(10) -- val has a maximum length of 10 characters
);
CREATE TABLE strings(
val VARCHAR CHECK(LENGTH(val) <= 10) -- val has a maximum length of 10 characters
);
The VARCHAR
field allows storage of unicode characters. Internally, the data is encoded as UTF-8.
Functions
See Character Functions and Pattern Matching
Search Shortcut cmd + k | ctrl + k