sql取字段的数字部分 
时间: 2023-05-22 18:02:54 浏览: 145
你可以使用 SUBSTRING 函数和 PATINDEX 函数来获取字段的数字部分。具体代码取决于你的数据库管理系统,以下是一些示例:
MySQL:
SELECT SUBSTRING(column_name, PATINDEX('%[0-9]%',column_name), LENGTH(column_name)) FROM table_name;
Oracle:
SELECT SUBSTR(column_name, REGEXP_INSTR(column_name, '[0-9]+')) FROM table_name;
SQL Server:
SELECT SUBSTRING(column_name, PATINDEX('%[0-9]%',column_name), LEN(column_name)) FROM table_name;
注意,在以上任何一种数据库管理系统中,都需要替换 column_name 和 table_name 为合适的名称。
相关问题
sql中varchar字段存在汉字和数字,取数字部分
可以使用正则表达式来提取 varchar 字段中的数字部分,例如:
SELECT REGEXP_REPLACE(column_name, "[^0-9]", "") FROM table_name;
这条 SQL 语句可以用于将 varchar 字段中所有非数字字符替换为空字符串,从而得到数字部分。其中,column_name 是需要取数字部分的 varchar 字段名,table_name 是该字段所在的表名。
sql提取字段中的数字
使用正则表达式可以提取字段中的数字。
在MySQL中,可以使用REGEXP来实现。例如,假设要从字符串字段name中提取数字,可以使用以下语句:
```
SELECT REGEXP_REPLACE(name, '[^0-9]+', '') AS extracted_number FROM my_table;
```
这将提取name字段中的所有数字,并将其放置在新的提取字段extracted_number中。
在其他SQL数据库中,也可以使用类似的方法来提取数字,只需要根据相应的正则表达式语法进行调整。
相关推荐














