我有一个包含两列的表:price(int)和price_display(varchar)。
price是实际的数字价格,例如“ 9990”
price_display是视觉表示,例如“ $ 9.99”或“ 9.99Fr”
我已经能够通过regexp确认两列是否匹配:
price_display不是regexp格式(price / 1000,2)
但是在不匹配的情况下,我想从price_display列中提取值并将其设置为price列,所有这些都在update语句的上下文中。我还不知道怎么做。
谢谢。
此函数只执行从字符串返回数字0-9的工作,这很好地解决了您的问题,无论您使用什么前缀或后缀。
http://www.artfulsoftware.com/infotree/queries.php?&bw=1280#815
复制此处以供参考:
SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS digits;
DELIMITER |
CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
DECLARE i, len SMALLINT DEFAULT 1;
DECLARE ret CHAR(32) DEFAULT '';
DECLARE c CHAR(1);
IF str IS NULL
THEN
RETURN "";
END IF;
SET len = CHAR_LENGTH( str );
REPEAT
BEGIN
SET c = MID( str, i, 1 );
IF c BETWEEN '0' AND '9' THEN
SET ret=CONCAT(ret,c);
END IF;
SET i = i + 1;
END;
UNTIL i > len END REPEAT;
RETURN ret;
END |
DELIMITER ;
SELECT digits('$10.00Fr');
#returns 1000
问题内容: 用户可以在我的网站上使用HTML表单输入URL,因此他们可以输入以下内容:http : //www.example.com?test=123&random=abc,可以是任何内容。我需要提取某个查询参数的值,在本例中为“ test”(值123)。有没有办法做到这一点? 问题答案: 你可以用与这样的: 允许将URL分为不同的部分(方案,主机,路径,查询等);在这里,我们使用它仅获取查询(
如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:
问题内容: 所以假设我有一个像 我需要它是: 用Java解析此问题的最佳方法是什么?到目前为止,我找不到使用标准Java库的解决方案,也不想重新发明轮子。 我试过了(但是如果我只放像我这样的查询参数,那将不起作用): 问题答案: 为什么不使用正则表达式之类的东西: 例如像这样的一个,它适用于您的url示例,这就是为什么我添加了这个部分;) 这将适用于第一个样本( -> 当然,如果您的参数名称也不是
问题内容: 从服务器重定向后,如何在我的routes.jsx文件中定义路由以从Twitter的单点登录过程生成的URL 捕获参数值? 我尝试使用以下路由配置,但没有捕获上述参数: 问题答案: 反应路由器v3 React Router已经为您解析了位置并将其作为道具传递给RouteComponent。您可以通过访问查询(在URL中的?之后)部分 如果要查找路径参数值(在路由器内部用冒号(:)分隔),
问题内容: 我有一些包含字母数字值的字符串输出。我只想从该字符串中获取数字。如何通过查询获取?我可以使用哪个MySql函数? 我的查询就像: 输出: 我想要输出像: 问题答案: 如果字符串以数字开头,然后包含非数字字符,则可以使用该函数,或者通过添加一个将其隐式转换为数字: 要从 任意 字符串中提取数字,您可以添加一个自定义函数,如下所示: 定义函数后,您可以在查询中使用它:
问题内容: 我想从包含数字和字母的字符串中提取数字: 我想在这里获取号码或任何其他号码。 问题答案: