SQLite в комбинация с JavaScript ми затруднява датите.
За по-голяма яснота вмъквам дата "01-01-1999", използвайки:
var yy = "01-01-1999";
var yyy = new Date (yy.replace( /(\d{2})-(\d{2})-(\d{4})/, "$3-$2-$1") ); //date into YYYY-MM-DD format
db.transaction (function (transaction)
{
var sql = "INSERT INTO happyPeople (datum, name, event) VALUES (?, ?, ?)";
transaction.executeSql (sql, [yyy, fNameIn, fEventIn], function ()
{
alert (fNameIn + " inserted with date " + yyy );
}, error);
Търсенето в db наистина показва "петък, 1 януари 1999 г. 01:00:00 GMT+0100 (CET)"
но...
когато питам за същия ден (01-01-1999) с
var sql = "SELECT * FROM happyPeople WHERE datum = strftime ('%Y-%m-%d','1999-01-01')";
Не получавам резултати, което означава, че няма грешка, но празен списък за връщане. Ако заменя '=' на '!=', получавам всички записи, така че изглежда, че заявката работи. Полето в SQLite db, което съдържа датата, е дефинирано като VARCHAR[50], но опитах и TEXT. Същият резултат.
И така, как да вмъкна дата (без да се интересувам от времето) в базата данни и как да направя запитване към тях?
Благодаря!