这里第一次发布海报,所以请善待......
我正在尝试创建一个新列,该列将对包含文本字符串的另一列的条目进行分组 - 例如,我希望在A列中包含“penny”的条目在新列中具有值“Penny”, A列中包含“镍”的条目有“镍”等。我假设我需要使用LIKE语句,因为在我分类的文本字符串之前/之后可能有也可能没有字符通过(即便士,镍等)。
我建议使用CASE语句,但我不确定CASE语句是否可以与LIKE一起使用。有人有主意吗?我不熟悉SQL,所以我可能会遗漏一些东西,但会感激任何帮助!
答案 0 :(得分:1)
您可以执行类似
的操作UPDATE mytable
SET new_column =
(CASE
WHEN original_column LIKE '%nickel%' THEN 'nickel'
WHEN original_column LIKE '%penny%' THEN 'penny'
ELSE 'no match' END);
您在不同SQL方言上的里程数可能会有所不同;这是我的头脑。
答案 1 :(得分:0)
如果我从所提供的示例中了解您希望做什么,我相信您可以在不使用Like的情况下将首字母大写,这是一个非常昂贵的运营商。
怎么样:
select metal, concat(upper(substr(metal,1,1)),substr(metal,2)) as CapitalizedMetal from t1