一、起因
最近换个工作,新工作是有涉及到nodejs后台的,首先的第一个任务是把mysql转成sql server。于是就开启了一段不寻常的路。
我这还没有转完,且行且记录吧。
二、记录
第一个是这个,因为sql server米有DATA_FORMAT,那就要考虑换。
var sql = "SELECT DATE_FORMAT(create_time,'%Y年%m月%d日 %H:%i:%s') as ct, id FROM report WHERE people=?"
换之后是这样的
var sql = "SELECT CONVERT(varchar(100), create_time, 25) as ct, id FROM report WHERE people=?"
第二个也差不多,也是关于DATA_FORMAT的。
[db.sequelize.fn('DATE_FORMAT', db.sequelize.col('create_time'), '%Y-%m-%d'), 'date'],
换了之后是这样的
[db.sequelize.fn('CONVERT',db.sequelize.literal('varchar(100)'), db.sequelize.col('create_time'), db.sequelize.literal('110')), 'date'],
第三个是关于时间的。
[db.Sequelize.Op.gte]:moment().subtract(30, "days").format("YYYY-MM-DD")
这个是在mysql能得到正常的时间的,但是在sql server中不行,得如下处理:
[db.Sequelize.Op.gte]:db.sequelize.literal( moment().subtract(30, "days").format("YYYY-MM-DD"))