代码之家  ›  专栏  ›  技术社区  ›  alpheus

SQL列中firstname和lastname的倒序

sql
  •  2
  • alpheus  · 技术社区  · 15 年前

    我在一个SQL数据库中有一个列,格式是初始空间姓氏,例如“J Smith”,我希望它是“Smith J”。使用T-SQL最有效的方法是什么?这张桌子有数百万张唱片。谢谢。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Narveson    15 年前

    使用子字符串公式,但要避免再次使用它们:

    ALTER TABLE SillyTable ADD FirstInitial char(1), LastName varchar(50);
    
    INSERT INTO SillyTable(FirstInitial, LastName) 
    SELECT SUBSTRING(NameColumn, 1, 1), SUBSTRING(NameColumn, 3, LEN(NameColumn) - 2)
    FROM SillyTable;
    
    SELECT LastName + ' ' + FirstInitial AS WhatMyBossWantsToday FROM SillyTable;
    
        2
  •  1
  •   Stefan Mai    15 年前

    假设该列确实是1个字符,后跟一个空格和名称。。。

    SELECT SUBSTRING(x,3,255)+' '+SUBSTRING(x,1,1)