在SQL Server CE中将一列拆分为两列

我正在使用C#与VS2010进行一个项目

我有一个本地数据库(.sdf文件)。 以下是我的数据库的示例内容:

列1

Ned Stark Tyrion Lannister Daenerys Targaryen Robert Baratheon 

我想要做的是将名称和姓氏分成两个不同的列,如下所示:

姓名 姓氏

 Ned Stark Tyrion Lannister Daenerys Targaryen Robert Baratheon 

由于我使用的是SQL Server CE 3.5版 ,因此LEFT,MIDfunction对我不起作用。 那么,我该怎么做?

这应该工作。

 SELECT SUBSTRING([Name], 0, CHARINDEX(' ', [Name], 0)) [FirstName], SUBSTRING([Name], CHARINDEX(' ', [Name], 0) + 1, LEN([Name])) [LastName] 

编辑:

 SELECT SUBSTRING([Name], 0, CHARINDEX(' ', [Name], 0)) [FirstName], SUBSTRING([Name], CHARINDEX(' ', [Name], 0) + 1, LEN([Name])) [LastName] FROM ( SELECT 'Ned Stark' [Name] UNION SELECT 'Tyrion Lannister' [Name] UNION SELECT 'Daenerys Targaryen' [Name] UNION SELECT 'Robert Baratheon' [Name] ) n 

只需用你的表和你的列[名称]列替换之后的部分。

您可以组合CHARINDEX和SUBSTRING函数。 根据msdn ,它们都支持CE。

例:

 SELECT SUBSTRING(a, 0, CHARINDEX(' ', a)), SUBSTRING(a, CHARINDEX(' ',a) + 1, LEN(a)) FROM (SELECT 'Random Joe' as a) t