Splitting one column into two columns in SQL Server CE

三世轮回 提交于 2019-12-20 06:56:58

问题


I am doing a project with VS2010 using C#.

I have a local database (.sdf file). Here is the example content of my database:

Column1

Ned Stark
Tyrion Lannister
Daenerys Targaryen
Robert Baratheon

What I am trying to do is split names and surnames into two different columns, like this:

Names                         Surnames

Ned               Stark
Tyrion            Lannister
Daenerys          Targaryen
Robert            Baratheon

Since I'm using SQL Server CE 3.5 Edition, LEFT, MID functions didn't work for me. So, how would I do that?


回答1:


This should work.

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

EDIT:

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

Just replace the part after from with you table and the column [Name] with you column.




回答2:


You can combine CHARINDEX and SUBSTRING functions. Both of them are supported in CE according to msdn.

Example:

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


来源:https://stackoverflow.com/questions/7984151/splitting-one-column-into-two-columns-in-sql-server-ce

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!