我正在使用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,MID功能对我无效。那么,我该怎么做呢?
答案 0 :(得分:2)
这应该有用。
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
只需将您之后的零件替换为您的表格,并将[名称]列替换为您的列。
答案 1 :(得分:1)
您可以组合CHARINDEX和SUBSTRING功能。根据{{3}},CE都支持它们。
示例:
SELECT
SUBSTRING(a, 0, CHARINDEX(' ', a)),
SUBSTRING(a, CHARINDEX(' ',a) + 1, LEN(a))
FROM
(SELECT 'Random Joe' as a) t