Oracle中translate 函数的使用
实例:
select lmark3, translate( t.lmark3, '9876543210' ||t.lmark3, '9876543210')from line_data_all_t t
1 |
数学一:51 |
51 |
2 |
数学三:100 |
100 |
3 |
大学物理131 |
131 |
4 |
法律硕士联考专业基础115 |
115 |
5 |
数学:191 |
191 |
6 |
国际政治121 |
121 |
7 |
管理学:110 |
110 |
8 |
西医综合155 |
155 |
9 |
护理综合217 |
217 |
10 |
设计学概论130 |
130 |
11 |
西医综合172 |
172 |
12 |
数学:45 |
45 |
13 |
数学:1110 |
1110 |
1.translate
语法:TRANSLATE(char, from, to)
用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
三个参数中有一个是空,返回值也将是空值。
举例:SQL> select translate('abcdefga','abc','wo') 返回值 from dual;
返回值
-------
wodefgw
分析:该语句要将'abcdefga'中的'abc'转换为'wo',
由于'abc'中'a'对应'wo'中的'w',
故将'abcdefga'中的'a'全部转换成'w';
而'abc'中'b'对应'wo'中的'o',
故将'abcdefga'中的'b'全部转换成'o';
'abc'中的'c'在'wo'中没有与之对应的字符,
故将'abcdefga'中的'c'全部删除;
简单说来,就是将from中的字符转换为to中与之位置对应的字符,
若to中找不到与之对应的字符,返回值中的该字符将会被删除。
在实际的业务中,可以用来删除一些异常数据,
比如表a中的一个字段t_no表示电话号码,
而电话号码本身应该是一个由数字组成的字符串,
为了删除那些含有非数字的异常数据,
就用到了translate函数:
SQL> delete from a,
where length(translate(trim(a.t_no),
'0123456789' || a.t_no,
'0123456789')) <> length(trim(a.t_no));
2.replace
语法:REPLACE(char, search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string。
举例:SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
返回值
---------
fgsgswsgs
SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
返回值
-----------------------
fgeeerrrtttsweeerrrttts
分析:第一个例子中由于'fgsgswsgs'中没有与'fk'匹配的字符串,
故返回值仍然是'fgsgswsgs';
第二个例子中将'fgsgswsgs'中的字符串'sg'全部转换为'eeerrrttt'。
总结:综上所述,replace与translate都是替代函数,
只不过replace针对的是字符串,而translate针对的是单个字符。
---------------------------------------------------------------------------------------------------------------------------------------------------------
相关推荐
SQL Sserver 实现oracle translate函数
### ORACLE `replace` 和 `translate` 函数详解 在Oracle数据库中,处理字符串是非常常见的需求之一。为了更好地管理和操作数据,Oracle提供了多种内置函数来帮助我们实现这一目标。其中两个常用的函数是 `replace`...
17. TRANSLATE函数:替换字符串中的指定字符集为另一个指定字符集。 18. TRIM函数:删除字符串的前后指定字符集。 19. UPPER函数:将字符串中的所有字符转换为大写。 数字函数 1. ABS函数:返回一个数字的绝对值。 ...
**translate函数** `translate`函数的主要作用是在一个字符串`expr`中,将`from_string`中的每个字符替换为`to_string`中相应位置的字符。其基本语法如下: ```sql translate(expr, from_string, to_string) ``` ...
了解并熟练使用这些函数,能帮助你在Oracle数据库中更高效地进行字符串处理,无论是数据分析、报表生成还是业务逻辑实现。在实际应用中,可以根据需求灵活组合这些函数,以满足各种复杂的字符串操作需求。
以上总结了Oracle系统内置字符函数的主要功能及其语法和使用示例。这些函数在处理文本数据时非常有用,可以帮助开发者轻松地执行字符串操作任务。接下来,我们将继续探讨其他类别的内置函数,如数字函数、日期函数等...
在 Oracle 数据库中,`REPLACE` 和 `TRANSLATE` 都是字符串处理函数,但它们在功能和使用上存在显著的区别。首先,我们来详细了解这两个函数。 **REPLACE 函数** `REPLACE` 函数的主要作用是将源字符串(char)中...
除此之外,Oracle还有其他很多功能强大的函数,如TRIM(同时去除字符串两侧的指定字符)、TRANSLATE(替换字符串中的一组字符为另一组字符)、REVERSE(反转字符串)等。这些函数在SQL查询和数据处理中发挥着重要...
例如,在查询中使用 `WHERE LOWER(colorname) LIKE '%white%'` 可以不区分大小写地搜索包含 "white" 的颜色名称。 ### INSTR() 和 INSTRB() - **INSTR()** 函数用于查找一个字符串在另一个字符串中的位置。它接受...
- `CONCAT`:在 Oracle 中,字符串连接通常使用 `+` 操作符,而在 SQL Server 中则使用 `CONCAT` 函数。 - `LOWER/UPPER`:两个系统都提供了将字符串转换为小写或大写的函数。 - `LPAD/RPAD`: Oracle 提供这些...
### Oracle常用函数详解 ...掌握这些函数的使用方法,不仅能够提高 SQL 语句的编写效率,还能确保查询结果的准确性。在实际应用中,合理选择合适的函数,结合实际情况灵活运用,将极大提升数据处理的能力和效率。
在Oracle数据库中,函数是一类预定...以上内容涵盖了Oracle中常见的函数及其用途,学习和掌握这些函数对于有效地使用Oracle数据库至关重要。在实际应用中,根据需要选择合适的函数可以大大提高查询效率和数据处理能力。
- **日期间隔**: Oracle中使用`MONTHS_BETWEEN`函数计算两个日期之间的间隔,在SQL Server中使用`DATEDIFF`函数。 - **当前日期时间**: Oracle中的`SYSDATE`函数与SQL Server中的`GETDATE()`函数相对应。 - **月份...
以下是一些在实际开发过程中经常使用的Oracle数据库函数的详细介绍。 #### 数学函数 1. **ABS**: 返回一个数值的绝对值。 - 示例: `SELECT ABS(-3.12) FROM DUAL;` 返回结果为 `3.12`。 2. **ACOS**: 返回指定...
Oracle 数据库是世界上最广泛使用的数据库管理系统之一,它拥有丰富的数据类型和函数,使得开发者能够高效地处理各种数据。以下是对标题和描述中提及的Oracle数据类型及常用函数的详细讲解。 **一、Oracle数据类型*...
字符处理函数在Oracle中尤为重要,如`INITCAP`用于首字母大写,`UPPER`和`LOWER`用于全角和半角字符的转换,`CONCAT`或`||`用于字符串拼接,`ASCII`和`CHR`则分别用于获取字符的ASCII码和根据编码创建字符。...
我们来详细了解一下这些函数中的一些常见代表。 1. 字符函数: - CHR:通过ASCII码值返回对应的字符。例如,CHR(54740)返回“赵”,它与ASCII函数形成互逆关系。 - CONCAT:连接两个或多个字符串。如CONCAT('010-...
Oracle数据库系统内置了大量的函数,这些函数为数据库编程提供了极大的便利,因为它们是由Oracle公司的专家编写的,内嵌在数据库系统中,执行效率非常高。利用这些函数,开发者可以编写出更高效、更简洁的代码,从而...