• 技术文章 >数据库 >mysql教程

    判断字符串中包含子字符串的方法

    2016-06-07 14:57:24原创502

    通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用,判断字符串中包含子字符串的方法 无 源码与演示: 源码出处 1. 查询字符串中是否包含非数字字符SELECT PATINDEX('%[^0-9]%', '1235X461')SELECT PATINDEX('%[^0-9]%', '12350461')2. 查询字符串中是否包

    通过2个函数 CHARINDEX 和 PATINDEX 以及通配符的灵活使用,判断字符串中包含子字符串的方法 <无>

    源码与演示:源码出处

    1. 查询字符串中是否包含非数字字符
    SELECT PATINDEX('%[^0-9]%', '1235X461')
    SELECT PATINDEX('%[^0-9]%', '12350461')
    
    2. 查询字符串中是否包含数字字符
    SELECT PATINDEX('%[0-9]%', 'SUYLLGoO')
    SELECT PATINDEX('%[0-9]%', 'SUYLLG0O')
    
    3.函数判断字符串只包含数字
    CREATE FUNCTION [dbo].fn_IsNumeric
    (
    @pString VARCHAR(8000)
    )
    RETURNS bit
    WITH ENCRYPTION
    AS
    BEGIN
    DECLARE @vJudge int
    SET @vJudge = 0
    SELECT @vJudge =
    CASE
    WHEN PATINDEX('%[0-9]%', LOWER(@pString)) > 0 THEN 0
    WHEN PATINDEX('%[0-9]%', LOWER(@pString)) = 0 THEN 1
    END
    RETURN @vJudge
    END
    
    4.函数判断字符串只包含字母(忽略大小写)
    CREATE FUNCTION [dbo].fn_IsAlpha
    (
    @pString VARCHAR(8000)
    )
    RETURNS bit
    WITH ENCRYPTION
    AS
    BEGIN
    DECLARE @vJudge int
    SET @vJudge = 0
    SELECT @vJudge =
    CASE
    WHEN PATINDEX('%[a-z]%', LOWER(@pString)) > 0 THEN 0
    WHEN PATINDEX('%[a-z]%', LOWER(@pString)) = 0 THEN 1
    END
    RETURN @vJudge
    END
    
    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:200201-007 . 監査候補リスト取得SQL 下一篇:SQLServer复制表结构
    线上培训班

    相关文章推荐

    • MySQL中什么是索引?索引存储模型浅析• 步骤分明地教你在MAC上安装MYSQL• 分析MySQL用户中的百分号%是否包含localhost?• 聊聊mysql的cmake方式• 怎么快速使用MySQL Sandbox部署mysql

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网