alasql
Version:
AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel
157 lines (142 loc) • 5.5 kB
JavaScript
if(typeof exports === 'object') {
var assert = require("assert");
var alasql = require('..');
} else {
__dirname = '.';
};
describe('Test 212: CONVERT dates with style', function() {
it("1. CONVERT DATES", function(done) {
alasql('SET = DATE("01/08/2015 12:34:56.789"); \
SELECT ROW \
CONVERT(STRING, ,1),\
CONVERT(STRING, ,2),\
CONVERT(STRING, ,3),\
CONVERT(STRING, ,4),\
CONVERT(STRING, ,5),\
CONVERT(STRING, ,6),\
CONVERT(STRING, ,7),\
CONVERT(STRING, ,8),\
CONVERT(STRING, ,10),\
CONVERT(STRING, ,11),\
CONVERT(STRING, ,12),\
CONVERT(STRING, ,101),\
CONVERT(STRING, ,102),\
CONVERT(STRING, ,103),\
CONVERT(STRING, ,104),\
CONVERT(STRING, ,105),\
CONVERT(STRING, ,106),\
CONVERT(STRING, ,107),\
CONVERT(STRING, ,108),\
CONVERT(STRING, ,110),\
CONVERT(STRING, ,111),\
CONVERT(STRING, ,112)\
',[],function(res){
assert(res,
[ 1,
[ '01/08/15',
'15.01.08',
'08/01/15',
'08.01.15',
'08-01-15',
'08 jan 15',
'Jan 08,15',
'12:35:56',
'01-08-15',
'15/01/08',
'150108',
'01/08/2015',
'2015.01.08',
'08/01/2015',
'08.01.2015',
'08-01-2015',
'08 jan 2015',
'Jan 08,2015',
'12:35:56',
'01-08-2015',
'2015/01/08',
'20150108' ] ]
);
done();
});
});
it("2. CONVERT DATE TO STRING", function(done) {
var res = alasql('SET = DATE("01/08/2015 12:34:56.789"); \
SELECT VALUE \
CONVERT(NVARCHAR(10), ,110)');
assert(res[1] == '01-08-2015');
done();
});
it("3. CONVERT JAVASCRIPT DATE TO STRING", function(done) {
var res = alasql('SET = NEW Date("01/08/2015 12:34:56.789"); \
SELECT VALUE \
CONVERT(NVARCHAR(10), ,110)');
assert(res[1] == '01-08-2015');
done();
});
it("4. CONVERT JAVASCRIPT DATE TO STRING", function(done) {
var d = new Date("01/08/2015 12:34:56.789");
var res = alasql('SELECT VALUE CONVERT(NVARCHAR(10),?,110)',[d]);
assert(res == '01-08-2015');
done();
});
it("5. CONVERT DATE TO STRING FROM TABLE", function(done) {
var res = alasql('CREATE DATABASE test212; USE test212;\
CREATE TABLE one (d DATE); \
INSERT INTO one VALUES ("01/08/2015 12:34:56.789");\
INSERT INTO one VALUES (DATE("01/08/2015 12:34:56.789"));\
INSERT INTO one VALUES (NEW Date("01/08/2015 12:34:56.789"));\
SELECT COLUMN CONVERT(NVARCHAR(10),d,110) FROM one');
res = res.pop();
assert(res[0] == '01-08-2015');
assert(res[1] == '01-08-2015');
assert(res[2] == '01-08-2015');
done();
});
it("6. CONVERT DATE TO STRING FROM TABLE", function(done) {
var res = alasql('CREATE TABLE two (d Date); \
INSERT INTO two VALUES ("01/08/2015 12:34:56.789");\
INSERT INTO two VALUES (DATE("01/08/2015 12:34:56.789"));\
INSERT INTO two VALUES (NEW Date("01/08/2015 12:34:56.789"));\
SELECT COLUMN CONVERT(NVARCHAR(10),d,110) FROM two');
res = res.pop();
assert(res[0] == '01-08-2015');
assert(res[1] == '01-08-2015');
assert(res[2] == '01-08-2015');
done();
});
it("7. CONVERT DATE TO STRING FROM TABLE", function(done) {
var res = alasql('CREATE TABLE three; \
INSERT INTO three (d) VALUES ("01/08/2015 12:34:56.789");\
INSERT INTO three (d) VALUES (DATE("01/08/2015 12:34:56.789"));\
INSERT INTO three (d) VALUES (NEW Date("01/08/2015 12:34:56.789"));\
SELECT COLUMN CONVERT(NVARCHAR(10),d,110) FROM three');
res = res.pop();
assert(res[0] == '01-08-2015');
assert(res[1] == '01-08-2015');
assert(res[2] == '01-08-2015');
done();
});
it("8. CONVERT DATE TO STRING FROM TABLE without columns", function(done) {
var res = alasql('CREATE TABLE four; \
INSERT INTO four VALUES {d:"01/08/2015 12:34:56.789"};\
INSERT INTO four VALUES {d:DATE("01/08/2015 12:34:56.789")};\
INSERT INTO four VALUES {d:(NEW Date("01/08/2015 12:34:56.789"))};\
SELECT COLUMN CONVERT(NVARCHAR(10),d,110) FROM four');
res = res.pop();
assert(res[0] == '01-08-2015');
assert(res[1] == '01-08-2015');
assert(res[2] == '01-08-2015');
done();
});
it("9. CONVERT DATE TO STRING FROM TABLE without columns", function(done) {
var d = new Date("01/08/2015 12:34:56.789");
var res = alasql('CREATE TABLE five; \
INSERT INTO five VALUES @"01/08/2015 12:34:56.789";\
INSERT INTO five VALUES ?;\
SELECT COLUMN CONVERT(NVARCHAR(10),_,110) FROM five',[d]);
res = res.pop();
assert(res[0] == '01-08-2015');
assert(res[1] == '01-08-2015');
done();
});
});