Gra*_*ham 14 javascript sql sql-server oracle
我正在尝试编写一个带有Javascript日期对象的查询,然后将其放入SQL Server和Oracle数据库类型都可识别的对象类型中.
问题是我正在使用webservices.所以它必须是一个字符串,而不是一个实际的传递参数.这就是我的意思:
var date = new Date();
var firstDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDayOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0);
var webServicesQueryWhereClause = 'readDate BETWEEN '+firstDayOfMonth+' AND '+lastDayOfMonth;
Run Code Online (Sandbox Code Playgroud)
除了firstDayOfMonth并且lastDayOfMonth被to_date()实际上包含在数据库可以读取的日期格式之类的东西之外.例如:
var webServicesQueryWhereClause = 'readDate BETWEEN to_date('+firstDayOfMonth+') AND to_date('+lastDayOfMonth+') ';
Run Code Online (Sandbox Code Playgroud)
我应该使用什么来将这些日期放在SQL Server和Oracle都能读取的表单中?
JPK*_*JPK 38
您是否尝试过此处提供的解决方案:
应该调用标题
"将JS日期转换为SQL DateTime"
我碰巧需要和你刚才做同样的事情,在你的问题之后我碰到了这个.
这是Gajus Kuizinas的另一篇文章,对于那些想要在这个页面上找到答案的人:
var pad = function(num) { return ('00'+num).slice(-2) };
var date;
date = new Date();
date = date.getUTCFullYear() + '-' +
pad(date.getUTCMonth() + 1) + '-' +
pad(date.getUTCDate() + ' ' +
pad(date.getUTCHours() + ':' +
pad(date.getUTCMinutes() + ':' +
pad(date.getUTCSeconds();
Run Code Online (Sandbox Code Playgroud)
要么
new Date().toISOString().slice(0, 19).replace('T', ' ');
Run Code Online (Sandbox Code Playgroud)
第一个为我工作.我有toISOString的参考问题,虽然我更喜欢一个班轮.任何人都可以澄清如何使用它,并知道可以引用它的限制吗?祝好运!
小智 5
使用 MomentJs 会很容易。
moment().format('YYYY-MM-DD HH:mm:ss')
Run Code Online (Sandbox Code Playgroud)
小智 5
就我而言,我试图获取 TIMESTAMP 并将其存储到一个变量中,以便我可以在 SQL 查询中传递该数组(行插入)
以下对我来说非常有效。
var created_at = new Date().toISOString().slice(0, 19).replace('T', ' ');
Run Code Online (Sandbox Code Playgroud)