有人可以解释一下我将如何在我的场景中为“名称”列添加前缀。
我想在两个相同的表之间创建 UNION。两者都包含一个字段“名称”。在列名中,我想添加前缀“TABLE-A-”或“TABLE-B-”。
我知道我可以N'PREFIX' + Name
在选择中做到这一点,但问题是有些记录已经有前缀,而有些则没有。因此,通过使用这将为这些记录创建一个双前缀......
任何的想法?
有人可以解释一下我将如何在我的场景中为“名称”列添加前缀。
我想在两个相同的表之间创建 UNION。两者都包含一个字段“名称”。在列名中,我想添加前缀“TABLE-A-”或“TABLE-B-”。
我知道我可以N'PREFIX' + Name
在选择中做到这一点,但问题是有些记录已经有前缀,而有些则没有。因此,通过使用这将为这些记录创建一个双前缀......
任何的想法?
您可以使用CASE
表达式有条件地添加前缀:
CASE WHEN Name like 'A1-%' THEN Name ELSE N'A1-' + Name END
case left(Name, 3) when N'A1-' then N'' else N'A1-' end + Name
您可以使用 CASE 表达式:
CASE WHEN col1 LIKE 'TABLE-A-%' THEN col1 ELSE 'TABLE-A-' || col1 END
或者,您可以使用 4 个选择的 UNION:
select col1 FROM tab1 WHERE col1 LIKE 'TABLE-A-%'
UNION
select 'TABLE-A-' || col1 FROM tab1 WHERE col1 NOT LIKE 'TABLE-A-%'
UNION
<same stuff for table B>
SELECT 'TABLE-A'+REPLACE(Name,'TABLE-A','')
FROM [TABLE-A]
UNION ALL
SELECT 'TABLE-B'+REPLACE(Name,'TABLE-B','')
FROM [TABLE-B]
拉吉
在国家代码前添加一个“+”符号
UPDATE [masters].[country] SET Countrycode = '+' +Countrycode
output:
===========
countrycode
+91,
+355,
....