Hi all,
I'm having a little confuse here. I'm writing code in Node-RED for saving data into MSSQL. Other data successfully save except "TIME".
I set dt_Time in MSSQL with "time(7)" and when I make the default value to (GETDATE()) it will appear e.g. "13:52:06.0030000"
I have tried several things (REFER TO WHAT I HAVE TRIED) as searching from a web but still giving a same error.
Please find my script:-
function addZero(x,n) {
while (x.toString().length < n) {
if (n < 3){
x = "0" + x;
}else{
x = x + "0";
}
}
return x;
}
var now = new Date();
var year = now.getFullYear();
var month = addZero(now.getMonth()+1,2);
var day = addZero(now.getDate(),2);
var hour = addZero(now.getHours(),2);
var minute = addZero(now.getMinutes(),2);
var second = addZero(now.getSeconds(),2);
var millisec = addZero(now.getMilliseconds(),3);
var curr_date = now.toLocaleDateString();
var curr_time = + hour + ':' + minute + ':' + second + '.' + millisec ;
msg.query = "INSERT INTO dbo.Testing (dt_Date,dt_Time) VALUES(" + curr_date + "," + curr_time + ")";
ADDITIONAL:-
Now I'm having another error when filtering to test saving data for date and time only
msg.query = "INSERT INTO dbo.Testing (dt_Date,dt_Time) VALUES(" + curr_date + "," + curr_time + ")";
Error:
RequestError: Operand type clash: int is incompatible with date
What I have tried:
Approach 1:
var curr_time = + hour + ':' + minute + ':' + second + '.' + millisec ;
Approach 2:
var curr_time = + hour + ':' + minute + ':' + second + ':' + millisec ;
Approach 3:
var curr_time = + hour + ':' + minute + ':' + second ;
Approach 4:
var curr_time = + hour + ':' + minute + ':' + second + millisec ;
Approach 5:
var curr_time = now.toLocaleTimeString();