您好我是初学者..这是我的问题
我有一张桌子" tspade"有两列,如下所示:
No | Unixdatetime |
1 | 1234567890 -1 #SUP: 2 |
2 | 2345678901 -1 #SUP: 2 |
3 | 3456789012 -1 #SUP: 3 |
4 | 4567890123 -1 5678901234 -1 #SUP: 2 |
5 | 6789012345 -1 7890123456 -1 8901234567 -1 #SUP: 2 |
我希望将该表格转换为:
No | Unixdatetime1 | Unixdatetime2 | Unixdatetime3 |
1 | 1234567890 | 0 | 0 |
2 | 2345678901 | 0 | 0 |
3 | 3456789012 | 0 | 0 |
4 | 4567890123 | 5678901234 | 0 |
5 | 6789012345 | 7890123456 | 8901234567 |
并将其保存到表try
我使用了这个查询:
Insert Into try (No,Unixdatetime1,Unixdatetime2,Unixdatetime3)
SELECT `No`, `Unixdatetime`,
SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 1 ) AS Unixdatetime1,
SUBSTRING_INDEX(SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 2 ),' -1 ',-1) AS Unixdatetime2,
SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', -1 ) AS Unixdatetime3
FROM tspade
但它无法奏效...... 有什么建议或帮助吗? 提前致谢
答案 0 :(得分:0)
您尝试使用SELECT插入 4 列,选择 5 列:
Insert Into try (No, Unixdatetime1, Unixdatetime2,Unixdatetime3)
-- 1 2 3 4
SELECT
`No`, -- <--------1
`Unixdatetime`, -- <--------2
SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 1 )
AS Unixdatetime1, -- <--------3
SUBSTRING_INDEX(SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 2 ),' -1 ',-1)
AS Unixdatetime2,-- <--------4
SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', -1 )
AS Unixdatetime3 -- <--------5
FROM tspade
这是不可能的
答案 1 :(得分:0)
值为4列,插入值为5
(并且你不应该在select中使用别名)在insert中选择值cluase中列的数量和数据类型,并在select cluase中必须匹配
例如:
Insert Into try (No,Unixdatetime1,Unixdatetime2,Unixdatetime3)
SELECT `No`
, SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 1 )
, SUBSTRING_INDEX(SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', 2 ),' -1 ',-1)
, SUBSTRING_INDEX( `Unixdatetime` , ' -1 ', -1 )
FROM tspade
答案 2 :(得分:0)
第一步是选择值。如果您不完全了解自己在做什么,请忘掉 if(data[count].componentid === undefined || data[count].componentid === null){
//Use your modal code
}
else{
//preparedHTML code
}
。
SELECT INTO
将省略号替换为您在结果表中根据需要选择子串所需的代码(观察结果!)。
如果您在Select No, SUBSTRING(...) as Date1, [...] from tspade
结果中获得了所需的结果,请将其插入下一个表格。
Select
答案 3 :(得分:0)
问题在于没有。 try表中的列和select语句不匹配。
SELECT No, Unixdatetime ,SUBSTRING_INDEX(Unixdatetime,&#39; -1&#39;,1)AS Unixdatetime1,SUBSTRING_INDEX(SUBSTRING_INDEX(Unixdatetime,&#39; -1&#39) ;,2),&#39; -1&#39;, - 1)AS Unixdatetime2,SUBSTRING_INDEX(Unixdatetime,&#39; -1&#39;, - 1)AS Unixdatetime3 FROM tspade
从select语句中删除突出显示的列,然后尝试。