oracle使用replace将字段name中 值是J 的替换成1,值是k的替换成2,L的替换成3,其他值则替换成0
时间: 2023-06-05 12:08:06 浏览: 59
可以使用如下SQL语句实现:
UPDATE 表名 SET name = REPLACE(REPLACE(REPLACE(name, 'J', '1'), 'k', '2'), 'L', '3') WHERE name IN ('J', 'k', 'L') ELSE name = '0';
其中,使用三层嵌套的REPLACE函数,将J、k、L替换成1、2、3,其他值替换成0。同时,使用WHERE子句限定只对符合条件的记录进行更新。
相关问题
将oracle数据库里某个字段的/换成-
可以使用Oracle的 REPLACE 函数来将某个字段中的/替换为-。以下是示例查询:
```
UPDATE table_name SET column_name = REPLACE(column_name, '/', '-') WHERE condition;
```
其中,table_name是要更新的表名,column_name是要修改的字段名,condition是更新的条件。将/替换为-的语句是:REPLACE(column_name, '/', '-')。
例如,如果要将employees表中的hire_date字段中的/替换为-,可以执行以下查询:
```
UPDATE employees SET hire_date = REPLACE(hire_date, '/', '-');
```
注意:在运行UPDATE语句之前,请务必备份您的数据。
在Oracle中去掉字段值中含有的空格怎么去掉?
在Oracle数据库中,如果你想从字段值中移除所有的空格,可以使用`REPLACE()`函数或者`TRIM()`函数配合`REGEXP_REPLACE()`函数,这两个都是常用的文本处理函数。
1. 使用 `REPLACE()` 函数:
```sql
SELECT REPLACE(your_column_name, ' ', '') FROM your_table;
```
这将替换所有空格为空字符串。
2. 使用 `TRIM()` 和 `Ltrim()` 或 `Rtrim()` 函数:
- 如果你想只删除两侧的空格,可以这样操作:
```sql
SELECT TRIM(both ' ' from your_column_name) FROM your_table;
```
- 如果你想同时删除左右两侧和内部的连续空格,可以先使用 `Ltrim()` 然后 `Rtrim()`:
```sql
SELECT Rtrim(Ltrim(your_column_name)) FROM your_table;
```
3. 使用 `REGEXP_REPLACE()` 函数,如果想要移除所有空格,包括非ASCII空格(如制表符、换行符等),可以这样:
```sql
SELECT REGEXP_REPLACE(your_column_name, '[[:space:]]+', '', 1) FROM your_table;
```
`[[:space:]]+` 匹配一个或多个空白字符,`''` 表示替换为空字符串。
记得在实际应用前备份数据,因为这些操作会改变原始数据。
阅读全文