如何编写SQL查询以执行以下功能。我有一个带有下划线"_"
的列值。我想通过下划线"_"
拆分这些值,以创建两个名为pID,nID的新列,并保持原始ID列不变。
Input example Output example
ID | | pID | nID |
1234_591856 | ==> | 1234 | 591856 |
12547_15795 | | 12547| 15795 |
12_185666 | | 12 | 18566 |
答案 0 :(得分:2)
您可以通过以下查询 -
SELECT
SUBSTRING_INDEX(mycol,'_',1),
SUBSTRING_INDEX(mycol,'_',-1)
FROM mytable;
答案 1 :(得分:1)
select id,
substr(id, 1, instr(id, '_') - 1) as pId,
substr(id, instr(id, '_') + 1, length(id)) as nId
from your_table
答案 2 :(得分:1)
如果要向表中添加两个新列,可以使用ALTER TABLE:
$scope.getDate = function(timestamp) {
var date = new Date(timestamp*1000);
return date;
};
然后您可以更新新创建的列的值:
alter table mytable
add column pid varchar(100),
add column nid varchar(100);