2016-11-13 52 views
1

如何仅从谷歌大查询返回字符串中的数字,例如:仅返回数字字符串

我试过REGEXP_EXTRACT,没有结果。

'你好你好1234' - > 1234

感谢 阿里尔

+0

请分享你的代码,你试过,什么不起作用。甚至可能包含一些错误消息,样本输入和输出将会非常有用。缺少这些信息会导致你的问题被低估。 –

+0

您可以使用投票答案下方的投票答案左侧的勾号标记接受的答案。请参阅http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235了解其重要性。答案投票也很重要。表决有用的答案。还有更多......当某人回答你的问题时,你可以查看该怎么做 - http://stackoverflow.com/help/someone-answers。 –

回答

0
SELECT 
    txt, 
    REGEXP_REPLACE(txt, r'\D', '') AS all_numbers_together, 
    REGEXP_REPLACE(REGEXP_REPLACE(txt, r'\D', 'x'), r'x+', ' ') AS all_numbers_separated 
FROM 
(SELECT 'hello 1234 hello' AS txt), 
(SELECT '111 hello 1234 hello 222' AS txt) 
+0

谢谢,但我收到一条错误消息:“\ D”附近语法不正确 – ariel

+0

你究竟试过了什么?你运行的是我给你还是别的什么?为了消除不确定性 - 尝试'SELECT REGEXP_REPLACE('hello 1234 hello',r'\ D','')AS all_numbers_together' –