Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql |'的含义是什么|';| |在甲骨文?_Sql_Oracle_Count_Distinct - Fatal编程技术网

Sql |'的含义是什么|';| |在甲骨文?

Sql |'的含义是什么|';| |在甲骨文?,sql,oracle,count,distinct,Sql,Oracle,Count,Distinct,我看到一个带有以下内容的查询“COUNT(DISTINCT(code | | |’|”description)”: 但是我不明白这个“COUNT(DISTINCT(code | | |“|”description)”是什么意思?你知道它是什么吗?谢谢|是字符串连接运算符 此代码有一个轻微的语法错误,但看起来它应该使用管道分隔的description列值连接代码列 code, description A123, code for blah blah 变成: A123|code for blahb

我看到一个带有以下内容的查询“
COUNT(DISTINCT(code | | |’|”description)
”:


但是我不明白这个“
COUNT(DISTINCT(code | | |“|”description)
”是什么意思?你知道它是什么吗?谢谢

|是字符串连接运算符

此代码有一个轻微的语法错误,但看起来它应该使用管道分隔的description列值连接代码列

code, description
A123, code for blah blah
变成:

A123|code for blahblah 

(如果sql在Oracle中修改为
code | |'|'| | | description

,则双管道(
|
)表示字符串串联。这是:

select 'a' || 'b' from dual
收益率:

ab
对于此表达式:
COUNT(DISTINCT(code | |'|'description)

  • 这是无效的sql代码:括号不平衡,并且缺少连接运算符;我想您的意思是
    COUNT(DISTINCT code | | |'| | description)

  • 后者将
    code
    description
    |
    分隔符连接起来,并对不同的结果值进行计数

您大概打算:

COUNT(DISTINCT code || '|' || description)
这段代码的目的是计算Oracle中
code
description
count(DISTINCT)
的唯一组合,它只接受一个参数。因此,如果要计算不同的组合,需要使用一些技巧,例如将值串联在一起

这是将值与中间的竖条放在一起:

'NY' || '|' || 'New York' --> 'NY|New York'

垂直条是一个分隔符,可能在
code
description

中都不会出现(或很少出现)。当发布您不理解的代码时,请确保正确复制和粘贴它。(有关指导信息,请参阅。)
'NY' || '|' || 'New York' --> 'NY|New York'