在 SQL 中,可以使用正则表达式的函数来匹配字符中“号”前面的数字。具体的语法和函数可能会因不同的数据库而有所不同。以下是一些常见数据库的示例:

  1. MySQL: 使用 REGEXP_SUBSTR 函数:

    SELECT REGEXP_SUBSTR(column_name, '\\d+(?=号)') FROM table_name;
    
  2. PostgreSQL: 使用 REGEXP_MATCHES 函数:

    SELECT (regexp_matches(column_name, '\d+(?=号)'))[1] FROM table_name;
    
  3. Oracle: 使用 REGEXP_SUBSTR 函数:

    SELECT REGEXP_SUBSTR(column_name, '\d+(?=号)') FROM table_name;
    
  4. SQL Server: 使用 PATINDEXSUBSTRING 函数:

    SELECT SUBSTRING(column_name, PATINDEX('%[0-9]%号', column_name), PATINDEX('%号%', column_name) - PATINDEX('%[0-9]%号', column_name)) FROM table_name;
    

请注意,以上仅为示例,具体的语法和函数可能会有所不同。请根据您所使用的数据库的文档来查找正确的函数和语法

sql怎么使用正则匹配字符中号前面的数字

原文地址: https://www.cveoy.top/t/topic/hF9P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录