【发布时间】:2013-04-20 10:54:22
【问题描述】:
在我的表中,我有类似的经验字段
经验
5Years0Months
2Years0Months
在这里我想转换成秒,然后将年份和月份添加到单个列中。
经验 - [一些价值]
所以我创建了一个如下查询,
select top(10)'insert into candidates(experience)values('+
CAST(SUBSTRING(CAST(o.Experience AS VARCHAR(50)), 0, PATINDEX('%Years%', o.Experience)) * 31536000 AS VARCHAR(50))
+','+CAST(SUBSTRING(CAST(o.Experience AS VARCHAR(50)), PATINDEX('%Years%', o.Experience) + 5
,patindex('%Months%', o.Experience) - PATINDEX('%Years%', o.Experience) - 5) *
2678400 AS VARCHAR(50))+')'
from candidatedetails as o
从上面的代码我得到的结果是,
经验
insert into candidates(experience)values(157680000,0)
insert into candidates(experience)values(31536000,26784000)
预期结果
insert into candidates(experience)values(157680000)
insert into candidates(experience)values(58320000)//add(31536000+26784000)
如何在我的查询中做到这一点?有人帮帮我吗?
【问题讨论】:
标签: sql-server sql-server-2008 select patindex