mysql字符串查找截取与正则表达式的联合应用
/* 判断字符串里的内容是否是数类型 **************************************************** is_double 输入参数: str: 待分析的字符串 返回: 如果是数类型就返回1,否则返回0 */ DELIMITER $$ DROP FUNCTION IF EXISTS is_double$$ CREATE FUNCTION is_doubl
/* 判断字符串里的内容是否是数值类型 ****************************************************is_double
输入参数:
str: 待分析的字符串
返回: 如果是数值类型就返回1,否则返回0
*/
DELIMITER $$
DROP FUNCTION IF EXISTS is_double$$
CREATE FUNCTION is_double(str VARCHAR(128))
RETURNS INT
BEGIN
DECLARE iResult INT DEFAULT 0;
/*NULL字符串或者空字符串*/
IF str IS NULL OR str = ''THEN
RETURN 0;
END IF;
SELECT str REGEXP '^[[:digit:]]+$|^[[:digit:]]+[\\.][[:digit:]]+$' INTO iResult;
IF iResult = 1 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END $$
DELIMITER ;
/* 分割字符串 ****************************************************
sp_report_string_get_val
功能:分割特定格式的字符串:'3.4,3.2,3.0,2.6,1.0',忽略空值或者是不合法的值
限制:以逗号分割,分割单元以数字组成
结果:分割之后 字符串变为'3.2,3.0,2.6,1.0'和3.4
输入输出参数:
prstring: 要分割的字符串
输出参数:
rval: 从字符串中取得的数值
rcode: 返回代码:0:表示成功执行;1:表示没有取到值或者取到的不是数值
*/
DROP PROCEDURE IF EXISTS sp_get_val;
CREATE PROCEDURE sp_get_val(
INOUT prstring VARCHAR(128),
OUT rval DOUBLE,
OUT rcode INT UNSIGNED
)
BEGIN
DECLARE _pos INT UNSIGNED DEFAULT 1; /*','的位置*/
DECLARE _str VARCHAR(128) DEFAULT ''; /*存放取出的字符串,之后将值赋给返回变量*/
SET rval = NULL;
SET rcode = 0;
/*
1)先去除空格
*/
SET prstring = REPLACE(prstring, ' ', '');
IF prstring = '' THEN
SET rcode = 1;
ELSE
IF RIGHT(prstring, 1) != ',' THEN
SET prstring = CONCAT(prstring, ',');
END IF;
/*
2)找到第一个','
*/
WHILE rval IS NULL AND prstring != '' DO
SET _pos = LOCATE(',', prstring);
IF _pos = 0 THEN
SET rcode = 1;
ELSE
SET _str = SUBSTRING(prstring, 1, _pos - 1);
IF is_double(_str) THEN
SET rval = _str;
END IF;
SET prstring = SUBSTRING(prstring, _pos + 1);
END IF;
END WHILE;
END IF;
IF rval IS NULL THEN
SET rcode = 1;
END IF;
END;
测试:
CREATE TABLE test_1(a DOUBLE);
DELIMITER $$
DROP PROCEDURE IF EXISTS sp_test_3$$
CREATE PROCEDURE sp_test_3()
BEGIN
DECLARE _str VARCHAR(128) DEFAULT '1,4,3.5,3.7,3.22a, , a, 34.2, 0, .1, 0., ';
DECLARE _i DOUBLE DEFAULT 0;
DECLARE _j INT UNSIGNED DEFAULT 0;
WHILE _str != '' DO
CALL sp_get_val(_str, _i, _j);
IF _j = 0 THEN
INSERT INTO test_1 VALUES(_i);
END IF;
END WHILE;
END$$
DELIMITER ;
执行:
CALL sp_test_3();
SELECT * FROM test_1;
TRUNCATE test_1;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL和phpMyAdmin是強大的數據庫管理工具。 1)MySQL用於創建數據庫和表、執行DML和SQL查詢。 2)phpMyAdmin提供直觀界面進行數據庫管理、表結構管理、數據操作和用戶權限管理。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

文章首段摘要:在選擇開發 Yi 框架應用程序的軟件時,需要考慮多個因素。雖然原生移動應用程序開發工具(如 XCode 和 Android Studio)可以提供強大的控制和靈活性,但跨平台框架(如 React Native 和 Flutter)憑藉其編寫一次,即可部署到多個平台的優點而越來越受歡迎。對於剛接觸移動開發的開發者,低代碼或無代碼平台(如 AppSheet 和 Glide)可以快速輕鬆地構建應用程序。另外,雲服務提供商(如 AWS Amplify 和 Firebase)提供了全面的工具

SQL是一種用於管理關係數據庫的標準語言,而MySQL是一個使用SQL的數據庫管理系統。 SQL定義了與數據庫交互的方式,包括CRUD操作,而MySQL實現了SQL標準並提供了額外的功能,如存儲過程和触發器。

MySQL和phpMyAdmin可以通過以下步驟進行有效管理:1.創建和刪除數據庫:在phpMyAdmin中點擊幾下即可完成。 2.管理表:可以創建表、修改結構、添加索引。 3.數據操作:支持插入、更新、刪除數據和執行SQL查詢。 4.導入導出數據:支持SQL、CSV、XML等格式。 5.優化和監控:使用OPTIMIZETABLE命令優化表,並利用查詢分析器和監控工具解決性能問題。

隨著數字貨幣的普及和發展,越來越多的人開始關注和使用數字貨幣app。這些應用程序為用戶提供了便捷的管理和交易數字資產的方式。那麼,數字貨幣app到底是什麼軟件呢?讓我們深入了解,並盤點全球十大數字貨幣app。
