Mysql 是否将sql查询结果的前4个字符分配到另一列?
我正在使用下面的SQL代码获取计算机列表。我需要以某种方式获取这些结果,并用每个记录的前4个字符填充它旁边的另一列。例如:Mysql 是否将sql查询结果的前4个字符分配到另一列?,mysql,sql,Mysql,Sql,我正在使用下面的SQL代码获取计算机列表。我需要以某种方式获取这些结果,并用每个记录的前4个字符填充它旁边的另一列。例如: Computer Name New Column ABCD1000P ABCD 这可能吗 SELECT SYS.Netbios_Name0 FROM dbo.v_R_System AS SYS INNER JOIN dbo.v_GS_PROCESSOR AS Processor ON SYS.ResourceID = Processor.Re
Computer Name New Column
ABCD1000P ABCD
这可能吗
SELECT SYS.Netbios_Name0
FROM dbo.v_R_System AS SYS
INNER JOIN dbo.v_GS_PROCESSOR AS Processor ON SYS.ResourceID = Processor.ResourceID
INNER JOIN dbo.v_GS_COMPUTER_SYSTEM ON SYS.ResourceID = dbo.v_GS_COMPUTER_SYSTEM.ResourceID
WHERE (SYS.Obsolete0 = 0) AND (SYS.Client0 = 1)and SYS.Netbios_Name0 not like '%-%'
使用LEFT函数
使用LEFT函数
使用派生表:
select dt.Computer.Name, LEFT(ComputerName,4) as NewColumn
(
SELECT SYS.Netbios_Name0 as ComputerName
FROM dbo.v_R_System AS SYS INNER JOIN
dbo.v_GS_PROCESSOR AS Processor ON SYS.ResourceID = Processor.ResourceID INNER JOIN
dbo.v_GS_COMPUTER_SYSTEM ON SYS.ResourceID = dbo.v_GS_COMPUTER_SYSTEM.ResourceID
WHERE (SYS.Obsolete0 = 0) AND (SYS.Client0 = 1)and SYS.Netbios_Name0 not like '%-%'
) dt
编辑:左,而不是右。谢谢你,马特 使用派生表:
select dt.Computer.Name, LEFT(ComputerName,4) as NewColumn
(
SELECT SYS.Netbios_Name0 as ComputerName
FROM dbo.v_R_System AS SYS INNER JOIN
dbo.v_GS_PROCESSOR AS Processor ON SYS.ResourceID = Processor.ResourceID INNER JOIN
dbo.v_GS_COMPUTER_SYSTEM ON SYS.ResourceID = dbo.v_GS_COMPUTER_SYSTEM.ResourceID
WHERE (SYS.Obsolete0 = 0) AND (SYS.Client0 = 1)and SYS.Netbios_Name0 not like '%-%'
) dt
编辑:左,而不是右。谢谢你,马特 查询您发布的输出ABCD1000P吗?是的,我现在只需要进入一个新列您的意思是要选择另一列,因此计算机名和新列都应该返回?查询您发布的输出ABCD1000P吗?是的,我现在只需要进入一个新列您的意思是要选择另一列,所以计算机名和新列都应该返回吗?我当时的想法也是SUBSTR!我立刻想到的也是SUBSTR!