我有一个SQL Server表(“Activities”),它有一个包含ID的列,例如“10553100”。这是活动ID,由两部分组成 - >前4位数字表示它属于哪个项目,后4位数字表示哪个子项目。
我需要从activityId
列(也就是前4位)中提取项目编号。是否可以在SQL中使用简单的SELECT语句来执行此操作?
答案 0 :(得分:3)
使用LEFT
功能。
SELECT activityId, LEFT(activityId, 4) AS projectnumber
FROM Activities
或SUBSTRING
功能。
SELECT activityId, SUBSTRING (activityId, 1, 4) AS projectnumber
FROM Activities
如果你想要包括你的子项目编号
LEFT
和RIGHT
函数。
SELECT activityId, LEFT(activityId, 4) AS projectnumber, RIGHT(activityId, 4) AS subprojectnumber
FROM Activities
SUBSTRING
功能。
SELECT activityId, SUBSTRING (activityId, 1, 4) AS projectnumber, SUBSTRING(activityId, 5, 4) AS subprojectnumber
FROM Activities
答案 1 :(得分:0)
select activity_id / 10000 as project
from activities
答案 2 :(得分:0)
试试这样:
SELECT CAST(LEFT(ActivityId, 4) AS INT) FROM activities
答案 3 :(得分:0)
试试这个
Select left(activityId,4) from Activities
答案 4 :(得分:0)
如果字段是数字,则:
SELECT Col / 10000 FROM TableName
如果char:
SELECT LEFT(Col, 4) FROM TableName
答案 5 :(得分:0)
左命令你可以工作:
SELECT LEFT(id, 4) FROM dbo.Activities