1

名の最初の 2 文字と姓の最初の 5 文字を取得し、それらを結合して「ユーザー名」という新しい列に配置する SQL クエリを (SELECT 関数を使用して) 作成しようとしています。 ." SUBSTRING 関数と CONCAT 関数を一緒に使用しようとしましたが、構文が正しくありません。これを行う方法を知っている人はいますか?

4

4 に答える 4

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 を参照してください

サンプル データが次の場合:

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

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

どちらのクエリも次を返します。

| USERNAME |
------------
|  JoSmith |
|  AbJones |
于 2013-02-14T17:27:18.900 に答える
-1

以下のクエリを試してください

select first_name,
       substr(first_name,1,2)||substr(lower(last_name),1,5) as "USER NAME",
       last_name 
from employees;
于 2013-07-17T22:44:33.280 に答える