处理字符串_11_判断一个字符是否是数字
生活随笔
收集整理的這篇文章主要介紹了
处理字符串_11_判断一个字符是否是数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?判斷一個字符是否是數字
需求描述
需求:將臨時表里判斷data字段里哪些是數字.
解決方法:這里通過函數isnumberic或者regexp完成該效果.
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化SQL腳本
?
SQL代碼
-- Mysql: DELIMITER $$ DROP FUNCTION IF EXISTS `IsNum` $$ CREATE FUNCTION `IsNum` (str VARCHAR(25)) RETURNS INT BEGINDECLARE 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 THENRETURN 1;ELSERETURN 0;END IF;END $$ DELIMITER ;-- 或者使用正則表達式: SELECT data FROM ( SELECT '63' AS data UNION ALL SELECT '36(' AS data UNION ALL SELECT '3(6' AS data UNION ALL SELECT '(36' AS data UNION ALL SELECT '36$' AS data UNION ALL SELECT '' AS data UNION ALL SELECT NULL AS data )A -- WHERE IsNum(data) = 1 WHERE data REGEXP '^[0-9]*$' = 1 AND data IS NOT NULL AND data <> '';-- 或者直接通過函數IsNum(data) = 1來判斷,見注釋部分.Sql Server: SELECT data FROM ( SELECT '63' AS data UNION ALL SELECT '36(' AS data UNION ALL SELECT '3(6' AS data UNION ALL SELECT '(36' AS data UNION ALL SELECT '36$' AS data UNION ALL SELECT '' AS data UNION ALL SELECT NULL AS data )A WHERE ISNUMERIC(data) = 1執行結果
總結
以上是生活随笔為你收集整理的处理字符串_11_判断一个字符是否是数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理字符串_10_对字符串重新按字母排序
- 下一篇: 处理字符串_12_按照指定的位置截取字符