我正在尝试获取现有列并解析每一行中某些字符串中的某些单词,即Sheet,Page,Card,并基于该单词(这些单词中只有一个实例连续)填充带有值的同一个表中的新列。如果没有找到任何这些单词,请将B列留空。
即。 A列包含单词“Sheet”,用字母“S”填充B列
因此表格如下:
Column A Column B
Sheet S
Page P
Card C
任何帮助将不胜感激!
答案 0 :(得分:1)
UPDATE YourTable
SET ColumnB = CASE WHEN ColumnA LIKE '%Sheet%' THEN 'S'
WHEN ColumnA LIKE '%Page%' THEN 'P'
WHEN ColumnA LIKE '%Card%' THEN 'C'
ELSE NULL /* or '' if you prefer */
END
答案 1 :(得分:0)
;WITH mappings (ColumnA, ColumnB) AS
(
SELECT 'Sheet','S' UNION ALL
SELECT 'Page','P' UNION ALL
SELECT 'Card','C'
)
UPDATE y
SET y.ColumnB= m.ColumnB
FROM YourTable y
JOIN mappings m ON y.ColumnA LIKE '%' + m.ColumnA + '%'
答案 2 :(得分:-1)
update myTable
set columnB = substring(columnA, 1, 1)