2013-02-14 43 views
0

我想寫一個SQL查詢(使用SELECT函數),將採取的第一個兩個字母的第一個名字和姓氏的前5個字母,然後合併它們並將它們放在名爲「用戶名」的新列中。我嘗試過使用SUBSTRING和CONCAT函數,但是我的語法不正確。有誰知道如何做到這一點?MYSQL,如何結合名字的前兩個字母和姓氏的前五個字母

+2

請出示你在這裏代碼 – Elen 2013-02-14 17:25:31

+0

SELECT LEFT(FIRST_NAME,2)AS 'A',SUBSTRING(姓氏,1,5)AS 'b' CONCAT(a,b)AS'用戶名' FROM customer_contacts; – FionaCat86 2013-02-14 17:28:22

+0

有趣的是,如果你用我的名字做到這一點,那麼你最終會在你開始的地方! – Strawberry 2013-02-14 17:35:26

回答

5

您可以同時使用CONCAT()SUBSTRING()

select 
    concat(substring(fname, 1, 2), substring(lname, 1, 5)) UserName 
from yourtable 

SQL Fiddle with Demo

或者你可以使用LEFT()CONCAT()

select 
    concat(left(fname, 2), left(lname, 5)) UserName 
from yourtable 

SQL Fiddle with Demo

如果你的樣本數據是:

CREATE TABLE yourtable (`fname` varchar(4), `lname` varchar(50)) ; 

INSERT INTO yourtable (`fname`, `lname`) 
VALUES ('John', 'Smithton'), 
    ('Abby', 'Jonesing'); 

兩個查詢將返回:

| USERNAME | 
------------ 
| JoSmith | 
| AbJones | 
-1

嘗試下面的查詢

select first_name, 
     substr(first_name,1,2)||substr(lower(last_name),1,5) as "USER NAME", 
     last_name 
from employees; 
-2

使用下面的線

select concat(left(empfname, 2) + ' ',left(emplname, 2)) UserNamefrom employee 
相關問題