Php 将DB2中的整数转换为mysql insert的带天间隔的日期
我有一个包含此select查询的php脚本:Php 将DB2中的整数转换为mysql insert的带天间隔的日期,php,mysql,db2,Php,Mysql,Db2,我有一个包含此select查询的php脚本: $plcQueryDB2 = " select cstnoc AS DEALER, framec AS FRAME, covr1c AS COVER, colr1c AS COLOR , extd1d AS SHIPDATE FROM GPORPCFL group by invnoc,cstn
$plcQueryDB2 = "
select
cstnoc AS DEALER,
framec AS FRAME,
covr1c AS COVER,
colr1c AS COLOR ,
extd1d AS SHIPDATE
FROM GPORPCFL
group by invnoc,cstnoc, slsnoc, orqtyc, framec, covr1c,colr1c, extd1d
limit 200
";
结果集是正确的,但问题是我正在使用结果插入mysql,并且需要使用true date格式的SHIPDATE列,因为它在DB2中是一个整数。它看起来像20180202,而我需要2018-02-02用于mysql
另一个因素是,我需要将一个值(SHIPDATE)用于插入的2个值
我需要为开始日期插入SHIPDATE+7天,为到期日期插入SHIPDATE+127天
以下是插页:
$stmt = $PDO->prepare("
INSERT INTO placements (sku_id, group_id, dealer_id, start_date, expire_date)
SELECT id, sku_group_id, :DEALER, :SHIPDATE + 7 day interval, :SHIPDATE + 127 day interval
FROM skus s
WHERE s.frame=:FRAME AND s.cover1=:COVER AND s.color1=:COLOR
");
显然,我在以下位置得到了一个mysql语法错误::SHIPDATE+7天间隔,:SHIPDATE+127天间隔
但这并没有把它变成真正的日期格式。所以我有两个问题围绕着同一个领域
我可以用什么最好的方式转换为true date格式并添加此select或insert的间隔
我可以选择转换并添加间隔,也可以在插入级别执行,但我真的不知道如何或哪一个是最好的 如果您的DB2日期是“$date\u from\u DB2”:
当然,这需要一个中间步骤。因此,如果我理解:我将在select语句之后创建一个变量,以该格式存储字段,然后在insert中调用该变量?是的,这将是实现此策略的方法。(我本想说“剥这只猫的皮”,但你可能喜欢猫。我不讨厌它们,但…:-)哈哈,很公平。我喜欢猫,但我也用这个短语,我是一个复杂的人!这很有效,谢谢,不用谢。“卡托”说你好。或者是“喂我”。。。是的,可能就是这样。:-)
$newdate = date("Y-m-d", strtotime('$date_from_db2'));