ORACLE几种常用的方法(2)
1、concat常见的用法 :
格式:concat(String1,String2)
说明:concat函数用于将两个字符串连接起来,形成一个单一的字符串
实例:
select concat('bokeyuan','xiaoneng') from dual; -- 运行结果 bokeyuanxiaoneng
2、‘||’常见的用法 :
格式:string1||string2||string3
说明:区别于concat,“||”用于将多个字符串连接起来,形成一个单一的字符串
实例:
select 'abc'||'def'||'gg' from dual; -- 结果 'abcdefgg'
3、convert
格式:CONVERT( string1, char_set_to [, char_set_from] )
说明:主要用户SqlServer中,把日期转换为新数据类型的通用函数。
string1:要转换的字符串。char_set_to:要转换为的字符集。char_set_from:可选的,要从中转换的字符集。
返回值:CONVERT函数返回特定字符集中的字符串值。 可用的字符集是:
字符集 | 描述 |
---|---|
US7ASCII | 美国7位ASCII字符集 |
WE8DEC | 西欧8位字符集 |
WE8HP | 惠普西欧Laserjet 8位字符集 |
F7DEC | DEC法语7位字符集 |
WE8EBCDIC500 | IBM西欧EBCDIC代码第500页 |
WE8PC850 | IBM PC代码第850页 |
WE8ISO8859P1 | ISO 8859-1西欧8位字符集 |
实例:
CONVERT('A B C D E Ä Ê Í Õ Ø', 'US7ASCII', 'WE8ISO8859P1') -- 结果: 'A B C D E ? ?? ?? ? ?'
4、listagg
格式:listagg(measure_expr,delimiter) within group(order by name)
说明:在每个分组内,LISTAGG根据order by子句对列进行的排序,将排序后的结果拼接起来
measure_expr:可以是任何基于列的表达式。
delimiter:分隔符,默认为NULL,即没有任何分隔符直接拼接
order_by_clause:order by子句决定了列值被拼接的顺序。可以按照任何列排序
实例:
select listagg(t.cname) within group(order by t.cname) name from cname t; -- 结果 xiaohongxiaolixiaoming select listagg(t.cname,'--') within group(order by t.cname) name from cname t; -- 结果 xiaohong--xiaoli--xiaoming