1

我想插入一个名为 TUC 的常量,并将其与表的 FirstName 和 LastName id 的首字母连接起来。

id - 1
fname - James
lname - 邦德

id - 2
fname - Daniel
lname - Edgar

例如。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 Fiddle

于 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 回答