使用MySQL如何抓取data.postcode
字段的第一部分?
例如:
M40 1JY
M8 8NW
我想这样显示:
M40
M8
答案 0 :(得分:3)
使用子字符串并找到:
select substring(postalcode,1,LOCATE(" ",postalcode)) from `data`
locate将找到空白索引,子字符串为您提供直到此位置的子项。
答案 1 :(得分:3)
select substring(postcode, 1, locate (' ', postcode) - 1) from data;
locate (' ', postcode)
返回空格()的位置,第一个输入,第二个输入(你的列),你不想显示空格从而从中减去1号。
substring(data, start, length)
从开始的数字中获取数据的子字符串(你的列),你想从头开始,所以这是1,并显示你输入的字母数,这是locate
的结果。
答案 2 :(得分:2)
SUBSTRING_INDEX(str,delim,count)函数是您所需要的。此函数在 count 出现的分隔符 delim 之前返回字符串 str 中的子字符串。您可以访问此链接以获取更多详细信息。 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index
对于你的问题,
SELECT SUBSTRING_INDEX(postcode, ' ', 1) from YourTable;
将返回
M40
M8