Microsoft SQL Server v1.0.0¶
Note
This project is not associated with Microsoft.
Driver Version v1.0.0 (permalink to this version)
Tested With SQL Server: 2022
This driver provides access to Microsoft SQL Server .
Installation & Quickstart¶
Feature & Type Support¶
| Feature | Support | |
|---|---|---|
| Bulk Ingestion | Create | ✅ |
| Append | ✅ | |
| Create/Append | ✅ | |
| Replace | ✅ | |
| Temporary Table | ✅ | |
| Specify target catalog | ✅ | |
| Specify target schema | ✅ | |
| Non-nullable fields are marked NOT NULL | ✅ | |
| Catalog (GetObjects) | depth=catalogs | ✅ |
| depth=db_schemas | ✅ | |
| depth=tables | ✅ | |
| depth=columns (all) | ✅ | |
| Get Parameter Schema | ✅ | |
| Get Table Schema | ✅ | |
| Prepared Statements | ✅ | |
| Transactions | ✅ | |
Types¶
SELECT (SQL to Arrow) type mapping¶
SQL Type |
Arrow Type |
|---|---|
BIGINT |
int64 |
BIT |
bool |
DATE |
date32[day] |
DATETIME |
timestamp[us, tz=UTC] |
DATETIME2 |
timestamp[us, tz=UTC] |
DOUBLE PRECISION |
double |
INT |
int32 |
NUMERIC |
decimal128 |
REAL |
float |
SMALLINT |
int16 |
TIME |
time64[ns] ⚠️ [1] |
TIME(0) |
time32[s] |
TIME(1) |
time32[ms] |
TIME(2) |
time32[ms] |
TIME(3) |
time32[ms] |
TIME(4) |
time64[us] |
TIME(5) |
time64[us] |
TIME(6) |
time64[us] |
TIME(7) |
time64[ns] |
VARBINARY |
binary |
VARCHAR |
string |
Bind parameter (Arrow to SQL) type mapping¶
Arrow Type |
SQL Type |
|---|---|
binary |
VARBINARY |
bool |
BOOLEAN |
date32[day] |
DATE |
decimal128 |
NUMERIC |
double |
DOUBLE PRECISION |
float |
REAL |
int16 |
SMALLINT |
int32 |
INT |
int64 |
BIGINT |
string |
VARCHAR |
time32[ms] |
TIME(1) |
time32[ms] |
TIME(2) |
time32[ms] |
TIME(3) |
time32[s] |
TIME(0) |
time64[ns] |
TIME(7) |
time64[us] |
TIME |
time64[us] |
TIME(4) |
time64[us] |
TIME(5) |
time64[us] |
TIME(6) |
timestamp[us] |
DATETIME |
Bulk ingest (Arrow to SQL) type mapping¶
Arrow Type |
SQL Type |
|---|---|
binary |
VARBINARY(MAX) |
bool |
BIT |
date32[day] |
DATE |
decimal128 |
NUMERIC |
double |
DOUBLE PRECISION |
float |
REAL |
int16 |
SMALLINT |
int32 |
INT |
int64 |
BIGINT |
string |
NTEXT |
time32[ms] |
TIME(7) ⚠️ [2] |
time32[s] |
TIME(7) ⚠️ [2] |
time64[ns] |
TIME(7) |
time64[ns] |
TIME(7) ⚠️ [3] |
time64[us] |
TIME(7) ⚠️ [2] |
timestamp[us, tz=UTC] |
DATETIME2 |