Oracle中的字符串连接运算符是什么?

发布于 2024-07-08 20:03:32 字数 93 浏览 8 评论 0原文

Oracle SQL 中的字符串连接运算符是什么?

有什么我应该注意的“有趣”功能吗?

(这似乎很明显,但我找不到之前提出的问题)。

What is the string concatenation operator in Oracle SQL?

Are there any "interesting" features I should be careful of?

(This seems obvious, but I couldn't find a previous question asking it).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

樱桃奶球 2024-07-15 20:03:32

例如,它是 ||

select 'Mr ' || ename from emp;

我能想到的唯一“有趣”的功能是 'x' || null 返回 'x',而不是您可能期望的 null

It is ||, for example:

select 'Mr ' || ename from emp;

The only "interesting" feature I can think of is that 'x' || null returns 'x', not null as you might perhaps expect.

夏见 2024-07-15 20:03:32

还有concat,不过用得不多

select concat('a','b') from dual;

There's also concat, but it doesn't get used much

select concat('a','b') from dual;
江挽川 2024-07-15 20:03:32

我建议在处理 2 个字符串时使用 concat,并且 || 当这些字符串超过 2 时:

select concat(a,b)
  from dual

  select 'a'||'b'||'c'||'d'
        from dual

I would suggest concat when dealing with 2 strings, and || when those strings are more than 2:

select concat(a,b)
  from dual

or

  select 'a'||'b'||'c'||'d'
        from dual
我的鱼塘能养鲲 2024-07-15 20:03:32
DECLARE
     a      VARCHAR2(30);
     b      VARCHAR2(30);
     c      VARCHAR2(30);
 BEGIN
      a  := ' Abc '; 
      b  := ' def ';
      c  := a || b;
 DBMS_OUTPUT.PUT_LINE(c);  
   END;

输出:: Abc def

DECLARE
     a      VARCHAR2(30);
     b      VARCHAR2(30);
     c      VARCHAR2(30);
 BEGIN
      a  := ' Abc '; 
      b  := ' def ';
      c  := a || b;
 DBMS_OUTPUT.PUT_LINE(c);  
   END;

output:: Abc def

转身以后 2024-07-15 20:03:32

Oracle SQL 中连接字符串有两种方法。 使用 CONCAT 函数或 || 运算符。

CONCAT 函数允许您将两个字符串连接在一起,

SELECT CONCAT( string1, string2 ) FROM dual;

因为 CONCAT 函数仅允许您将两个值连接在一起。 如果要连接两个以上的值,可以嵌套多个 CONCAT 函数调用。

SELECT CONCAT(CONCAT('A', 'B'),'C') FROM dual;

使用 CONCAT 函数的替代方法是使用 || 运算符

SELECT 'My Name' || 'My Age' FROM dual;

There are two ways to concatenate Strings in Oracle SQL. Either using CONCAT function or || operator.

CONCAT function allows you to concatenate two strings together

SELECT CONCAT( string1, string2 ) FROM dual;

Since CONCAT function will only allow you to concatenate two values together. If you want to concatenate more values than two, you can nest multiple CONCAT function calls.

SELECT CONCAT(CONCAT('A', 'B'),'C') FROM dual;

An alternative to using the CONCAT function would be to use the || operator

SELECT 'My Name' || 'My Age' FROM dual;
旧时模样 2024-07-15 20:03:32

当连接两个以上的字符串时,使用 CONCAT(CONCAT(,),) 对我有用。

我的问题需要使用日期字符串(仅)并从 YYYY-MM-DD 创建 YYYYMMDD 如下(即不转换为日期格式):

CONCAT(CONCAT(SUBSTR(DATECOL,1,4),SUBSTR(DATECOL,6,2)),SUBSTR(DATECOL,9,2)) AS YYYYMMDD

Using CONCAT(CONCAT(,),) worked for me when concatenating more than two strings.

My problem required working with date strings (only) and creating YYYYMMDD from YYYY-MM-DD as follows (i.e. without converting to date format):

CONCAT(CONCAT(SUBSTR(DATECOL,1,4),SUBSTR(DATECOL,6,2)),SUBSTR(DATECOL,9,2)) AS YYYYMMDD
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文