重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
{String} REGEXP '[^0-9.]'
專注于為中小企業提供成都網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業嵐山免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了千余家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
前面的字符串是我們要做判斷的, 后面的字符串是mysql的正則表達式,意思是 匹配不是數字或者小數點的字符。
select ('123a' REGEXP '[^0-9.]'); --‘123a'中含有字符'a' 輸出結果為1 mysql中常量true輸出為1 false輸出為0
mysql有專門的函數實現你需要的功能:
FIND_IN_SET(str,strlist)
如果字符串str在由N子串組成的表strlist之中,返回一個1到N的值。一個字符串表是被“,”分隔的子串組成的一個字符串。如果第一個參數是一個常數字符串并且第二個參數是一種類型為SET的列,FIND_IN_SET()函數被優化而使用位運算!如果str不是在strlist里面或如果strlist是空字符串,返回0。如果任何一個參數是NULL,返回NULL。如果第一個參數包含一個“,”,該函數將工作不正常。
mysql SELECT FIND_IN_SET('b','a,b,c,d');
返回值2
DELIMITER?$$
DROP?FUNCTION?IF?EXISTS?`IsNum`?$$
CREATE?FUNCTION?`IsNum`?(str?VARCHAR(25))?RETURNS?INT
BEGIN
DECLARE?iResult?INT?DEFAULT?0;
IF?ISNULL(str)?THEN?return?0;?END?IF;--?NULL?字符串
IF?str?=?''?THEN?return?0;?END?IF;--?空字符串
SELECT?str?REGEXP?'^[0-9]*$'?INTO?iResult;
IF?iResult?=?1?THEN
RETURN?1;
ELSE
RETURN?0;
END?IF;
END?$$
DELIMITER?;
關于?delimiter?的說明請查看文檔?MySQL?中函數定義中?delimiter的說明
這個函數用來判斷給定的字符串是否為函數,?用法示例:
select?IsNum('12');?--?結果為?1
select?IsNum('12-');?--?結果為?0
select?IsNum(說明)?from?TABLE_XX?