SQL - 空格/空白字符代码

时间:2016-02-11 07:50:12

标签: sql postgresql

我想在查询中包含空格/空格字符。我使用CASE条件将值分类为:' Syrah N' Chardonnay B',...我的值和大写字母之间有一个空格。当以查看的字母开头的值时,查询是无用的(例如:' Barbaroux RS'被分类为B,但它必须是RS)。

实际查询

SELECT name
CASE 
   WHEN name LIKE '%N%' THEN 'Red'
   WHEN name LIKE '%B%' THEN 'White'
   WHEN name LIKE '%RS%' THEN 'Green'
   ELSE 'Other'
END 
FROM mytable

通缉查询

SELECT name
CASE 
   WHEN name LIKE '% N %' THEN 'Red'
   WHEN name LIKE '% B %' THEN 'White'
   WHEN name LIKE '% RS %' THEN 'Green'
   ELSE 'Other'
END 
FROM mytable

我如何编写'%空间 B 空间%' ?

1 个答案:

答案 0 :(得分:1)

在名称之前和之后添加空格字符,然后执行LIKE

SELECT name
CASE 
   WHEN ' ' || name || ' ' LIKE '% N %' THEN 'Red'
   WHEN ' ' || name || ' ' LIKE '% B %' THEN 'White'
   WHEN ' ' || name || ' ' LIKE '% RS %' THEN 'Green'
   ELSE 'Other'
END 
FROM mytable

||是ANSI SQL串联。一些dbms产品有其他结构......