选择整数的前N个数字

msk*_*msk 3 sql sql-server

我有一个SQL Server表(“活动”),该表的列包含ID,例如“ 10553100”。这是活动ID,由两部分组成->前4位数字指示它属于哪个项目,后4位数字指示哪个子项目。

我需要从activityId列中提取项目编号(又名前4位数字)。是否可以使用SQL中的简单SELECT语句执行此操作?

Mat*_*att 6

使用LEFT功能。

SELECT activityId, LEFT(activityId, 4) AS projectnumber
FROM Activities
Run Code Online (Sandbox Code Playgroud)

还是SUBSTRING功能。

SELECT activityId, SUBSTRING (activityId, 1, 4) AS projectnumber
FROM Activities
Run Code Online (Sandbox Code Playgroud)

如果您也想包含您的子项目编号

LEFTRIGHT功能。

SELECT activityId, LEFT(activityId, 4) AS projectnumber, RIGHT(activityId, 4) AS subprojectnumber
FROM Activities
Run Code Online (Sandbox Code Playgroud)

SUBSTRING 功能。

SELECT activityId, SUBSTRING (activityId, 1, 4) AS projectnumber, SUBSTRING(activityId, 5, 4) AS subprojectnumber
FROM Activities
Run Code Online (Sandbox Code Playgroud)