从MySQL中的字符串列中提取一组数字

时间:2014-05-19 09:46:19

标签: mysql extract

我试图从MySQL中的字符串列中提取固定长度的数字,我该怎么做呢?通常喜欢和正则表达式不起作用,所以我很确定需要一个函数,但不确定从哪里开始以及如何编写一个函数。

请指教。

固定长度的数字是10位数字和字符串列的样本:

'SGD0.00 AUTOMSG:'0179187381' is near Esso @ 23:59.'

请注意字符串中10位数的位置不同。

4 个答案:

答案 0 :(得分:1)

简单:

Just use: SUBSTR(str,x,y)
where:- str -> String,
        x -> position,
        y -> length

示例: SELECT SUBSTR(' ABCDEFG',2,3); - > BCD

有关更多信息,请访问此链接:  http://www.w3resource.com/mysql/string-functions/mysql-substring-function.php

答案 1 :(得分:0)

mysql> select substr("'SGD0.00 AUTOMSG:'0179187381' is near Esso @ 23:59.'", 19,10);
+-----------------------------------------------------------------------+
| substr("'SGD0.00 AUTOMSG:'0179187381' is near Esso @ 23:59.'", 19,10) |
+-----------------------------------------------------------------------+
| 0179187381                                                            |
+-----------------------------------------------------------------------+
1 row in set (0.48 sec)

答案 2 :(得分:0)

你可以这样试试:

SELECT SUBSTRING('Quadratically',5);

语法:SUBSTRING(str,pos)

了解更多信息:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring

答案 3 :(得分:0)

如果10位数字始终以:'开头,那么您可以使用:

select substr(column_name, locate(":'", column_name) + 2, 10) from table_name

(假设:'没有出现在字符串中的数字之前的其他地方)

相关问题