可以请一些人解释如何在我的方案中为“名称”列添加前缀。
我想在两个相同的表之间创建UNION。 两者都包含字段“名称”。在列名中我想添加前缀“TABLE-A-”或“TABLE-B - ”。
我知道我可以通过N'PREFIX' + Name
在select中执行此操作,但问题是某些记录已经有前缀而有些记录没有。因此,通过使用它将为这些记录创建一个双重前缀......
有什么想法吗?
答案 0 :(得分:2)
您可以使用CASE
表达式有条件地添加前缀:
CASE WHEN Name like 'A1-%' THEN Name ELSE N'A1-' + Name END
答案 1 :(得分:1)
case left(Name, 3) when N'A1-' then N'' else N'A1-' end + Name
答案 2 :(得分:1)
您可以使用CASE表达式:
CASE WHEN col1 LIKE 'TABLE-A-%' THEN col1 ELSE 'TABLE-A-' || col1 END
或者,您可以使用UNION of 4选择:
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>
答案 3 :(得分:1)
SELECT 'TABLE-A'+REPLACE(Name,'TABLE-A','')
FROM [TABLE-A]
UNION ALL
SELECT 'TABLE-B'+REPLACE(Name,'TABLE-B','')
FROM [TABLE-B]
拉吉
答案 4 :(得分:0)
添加&#39; +&#39;国家代码前的符号
UPDATE [masters].[country] SET Countrycode = '+' +Countrycode
output:
===========
countrycode
+91,
+355,
....