1

TUCという定数を挿入し、それをテーブルのFirstNameおよびLastNameidのイニシャルと連結したいと思います。

id-
1fname-
Jameslname-ボンド

id-
2fname-ダニエル
lname-エドガー

例えば。TUCJB001、TUCDE002、...。

4

3 に答える 3

4

このようなもの

update tab 
SET newid=CONCAT('TUC', LEFT(fname, 1), LEFT(lname, 1), LPAD(id,03, '0'));

デモ

注4桁の数字が必要な場合は、以下で強調表示されているように変更する必要があります。

update tab 
SET newid=CONCAT('TUC', LEFT(fname, 1), LEFT(lname, 1), LPAD(id,digit_range, '0'));
                                                                ^^^^^^^^^^^
于 2012-11-10T14:26:23.343 に答える
2

次のようなものを使用して値を取得できます。

select 
  concat('TUC', left(firstname, 1), left(lastname, 1), '00', cast(id as char)) newValue
from yourtable

次に更新するには:

update yourtable
set yourColumn =  concat('TUC', left(firstname, 1), left(lastname, 1), '00', cast(id as char))

SQL FiddlewithDemoを参照してください

于 2012-11-10T14:24:27.727 に答える
0

UPDATE [table] SET [columnname] = CONCAT( UPPER(LEFT(fname, 1)), UPPER(LEFT(lname, 1)), LPAD(CONVERT(id, VARCHAR), 3, '0') );

于 2012-11-10T14:24:20.410 に答える