Javascript 日期到 sql 日期对象

新手上路,请多包涵

我正在尝试编写一个查询,该查询采用 Javascript 日期对象,然后将其放入 SQL Server 和 Oracle 数据库类型都可以识别的对象类型中。

问题是我正在使用网络服务。所以它必须是一个字符串,而不是实际传递的参数。这就是我的意思:

 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;

除了 firstDayOfMonthlastDayOfMonthto_date() 这样的东西包围,实际上将它们放在数据库可以读取的日期格式中。例如:

 var webServicesQueryWhereClause = 'readDate BETWEEN to_date('+firstDayOfMonth+') AND to_date('+lastDayOfMonth+') ';

我应该使用什么来将这些日期放在 SQL Server 和 Oracle 都可以读取的形式中?

原文由 Graham 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 702
2 个回答

您是否尝试过此处介绍的解决方案:

将 JS 日期时间转换为 MySQL 日期时间

标题应该叫

“将 JS 日期转换为 SQL 日期时间”

我恰好需要和你做同样的事情,我在你的问题之后遇到了这个问题。

这是来自 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());


或者

new Date().toISOString().slice(0, 19).replace('T', ' ');

第一个对我有用。我对 toISOString 也有一个参考问题,尽管我更喜欢一个班轮。谁能澄清如何使用它并知道在哪里可以引用它的限制?祝你好运!

原文由 JPK 发布,翻译遵循 CC BY-SA 4.0 许可协议

在我的情况下,我试图获取一个 TIMESTAMP 并将其存储到一个变量中,以便我可以在 SQL 查询中传递该数组(行插入)

以下对我很有效。

var created_at = new Date().toISOString().slice(0, 19).replace(’T’, ‘ ‘);

原文由 Hashir Qadeer 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题