0

我从同一列中选择两个子字符串,在这种情况下,它是英国邮政编码。

我想做的只是选择第二个,如果它不是一个整数。

最终,我会将两个子字符串(如果不是整数,则为第二个)写入一个新列。

SELECT SUBSTRING(postcode,1,1) AS one, SUBSTRING(postcode,2,1) AS two 

我可以在第二个子字符串周围包裹一个 IF 语句吗?

SELECT SUBSTRING(postcode,1,1) AS one, IF NOT INT(SUBSTRING(postcode,2,1)) AS two 

非常感谢

4

1 回答 1

1

可能的(假设您对返回的 2 列感到满意)。

SELECT SUBSTRING(postcode,1,1) AS one, IF(SUBSTRING(postcode,2,1) REGEXP '^-?[0-9]+$', NULL, SUBSTRING(postcode,2,1)) AS two 
FROM Postcodes

如果您想处理更复杂的邮政编码(例如 EC1A 1BB ),可能会变得更加混乱,具体取决于您是否希望 A 返回以及在什么情况下。

于 2013-06-20T10:16:31.597 回答