如何用sql去除一列中非数字元素
时间: 2023-01-11 09:55:36 浏览: 62
在 SQL 中,可以使用 `CASE` 语句和正则表达式来实现去除一列中非数字元素的目的。
下面是一个示例:
```
SELECT
CASE
WHEN COLUMN_NAME ~ E'^\\d+$' THEN COLUMN_NAME::INTEGER
ELSE NULL
END AS cleaned_column
FROM TABLE_NAME
```
在上面的示例中,`COLUMN_NAME` 是要清理的列的名称,`TABLE_NAME` 是包含该列的表的名称。
正则表达式 `E'^\\d+$'` 用于匹配数字,`CASE` 语句会检查每一行,如果该行中的值与正则表达式匹配,则将其转换为整数,否则将其转换为 `NULL`。
最后,使用 `AS cleaned_column` 将新生成的列命名为 `cleaned_column`。
注意:上述示例假设数据库使用的是 PostgreSQL,如果使用的是其他数据库,则可能需要使用不同的语法。
相关问题
sql去除路径最后一列
可以使用SUBSTRING_INDEX函数。假设路径在一个名为path的列中,想要去除最后一个路径,可以使用以下代码:
SELECT SUBSTRING_INDEX(path, '/', -2)
这将返回从最后一个斜杠(/)到左侧第二个斜杠的所有内容,即去除了最后一个路径。
SQL server删除某一行中每一列的数字
可以使用 SQL Server中的 REPLACE 函数来删除某一行中每一列的数字。具体操作如下:
假设有一个名为 table1 的表,其中有一个名为 column1 的列,需要删除其中的数字。可以使用以下语句:
```
UPDATE table1
SET column1 = REPLACE(column1, '0', '')
WHERE column1 LIKE '%[0-9]%'
```
这个语句会将 column1 列中的所有数字 0 替换为空字符串,并且只会更新包含数字的行。如果想要删除其他数字,只需要将 '0' 替换为相应的数字即可。
相关推荐
![sql](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)