Comments (5)
This looks like an issue with using GoLang RFC3339 / RFC3339Nano timestamps..?
from go-sqlite3.
I think, if the values will be possible to be nil, it should be used for string
or another types. How do you think?
from go-sqlite3.
@mattn, I didn't quite understand, what do you mean? What should be used for string types?
We would really like to use this library over here, but we need dates to work correctly.
from go-sqlite3.
Ah, sorry. I was sleepy. You can use *time.Time
instead of time.Time
.
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
"log"
"os"
"time"
)
func main() {
os.Remove("boooo.db")
db, err := sql.Open("sqlite3", "boooo.db")
if err != nil {
log.Fatal("Failed to open database:", err)
}
defer db.Close()
db.Exec(`create table foo (id integer, dt datetime);`)
db.Exec(`insert into foo(id, dt) values(1, datetime('now'))`)
db.Exec(`insert into foo(id, dt) values(2, null)`)
rows, err := db.Query(`select id, dt from foo`)
if err != nil {
log.Fatal("Failed to call db.Query:", err)
}
defer rows.Close()
for rows.Next() {
var id int
var dt *time.Time
err = rows.Scan(&id, &dt)
if err != nil {
log.Fatal("Failed to db.Query:", err)
}
fmt.Println(id, dt)
}
}
This dt
should be datetime or nil. You can use string instead of it. This is not a spec of go-sqlite3. So, sorry about I can't fix this.
from go-sqlite3.
It turned out the problem was actually because the database being used was using this time format: 2014-05-21 12:55:40+00:00
, which wasn't included in SQLiteTimestampFormats
. I have added it and submitted a pull request.
from go-sqlite3.
Related Issues (20)
- Error "database is locked" in wal mode HOT 1
- Changing PRAGMA user_version via placeholders does not work; Without placeholders it works fine HOT 2
- In-memory database access fails with multiple goroutines HOT 3
- v3.45.0 release HOT 3
- v3.45.1 release HOT 1
- Scanning of timestamps not working when using "with time zone"
- Support for custom window functions
- Drop static_mock.go
- Getting Errors with go-sqlite3 HOT 4
- env “TMPDIR" can't change the tmp store diretory HOT 7
- "NOT json_valid(NULL)" unexpected empty result (works in CLI) HOT 2
- docker build fail undefined: sqlite3.Error HOT 2
- Database file does not get created when using connection string HOT 4
- Cannot read result row of pragma wal_checkpoint HOT 4
- importing go-sqlite hangs my application!!?? HOT 2
- Inconsistent parsing of DATETIME type, causing errors HOT 7
- C code errors on linux amd64
- exec for update does not correctly return sql.Results HOT 1
- Can't seem to fuzz SQLite?? HOT 1
- sqlite3 in-memory mode deletes data and releases memory
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-sqlite3.