1、|| 和concat连接两个变量(或字符串),substr 载取字符: ㈠select ( '资金性质名称:'|| t.mk_name) as 资金性质名称 , (t.en_code|| t.en_name) as 预算单位 , substr(t.en_code,1,3) as 单位编码前三位 from vw_print_plan_voucher t
㈡select concat('0435-','4543534')||'转23' 某某某电话 from 表 0435-4543534转23 2、replace 替换字符: select en_name from vw_print_plan_voucher 原数据 select replace(en_name, '梅河口','长春') as 代替 from vw_print_plan_voucher 替换后 3、ltrim 删除左边出现的字符串 /rtrim 删除右边出现的字符串 select en_name from vw_print_plan_voucher 原数据 select ltrim(rtrim(en_name,'局'),'梅河口') as en_name from vw_print_plan_voucher 删除数据后 4、upper 返回字符串,并将所有的字符大写
select upper(deploy_folder) as deploy_folde from sys_app
5、lower 返回字符串,并将所有的字符小写 6、nvl 语法 NVL(eExpression1, eExpression2)
参数 eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。
返回值类型 字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。
例: nvl(substr(b.print_date,1,4),to_char(sysdate,'YYYY')) as 年, nvl(substr(b.print_date,6,2),to_char(sysdate,'mm')) as 月, nvl(substr(b.print_date,9,2),to_char(sysdate,'dd')) as 日,
b.print_date 数据库字段名 格式为:2008-01-01 to_char(sysdate,'YYYY') 系统时间年。
7、decode 用法。 ㈠select t.billtype_code,decode(billtype_code,121102,1,121101,2) flag from vw_budget_voucher t
当blltype_code字段为121102时,flag字段为1;blltype_code字段为121101时,flag字段为2,默认值为空。 ㈡select t.plan_money,t.pk_code, decode(substr(t.pk_code, 1, 6), '001001', t.plan_money, 0) as 直接支付计划额度 from vw_print_plan_voucher t
当pk_code字段的前六位是001001时,直接支付计划额度字段为t.plan_money字段中内容。默认值为0。 8、abs 取绝对值。 abs(pay_money) as 金额。 9、case……when……then……ent 相当于if……else…… select b.bill_no as 单号, (case when b.billtype_code = 344 and b.pay_money > 0 then '授权支付划款凭证' when b.billtype_code = 344 and b.pay_money < 0 then '授权支付退款凭证' when b.billtype_code = 342 and b.pay_money < 0 then '直接支付退款凭证' when b.billtype_code = 342 and b.pay_money > 0 then '直接支付划款凭证' end) as 表头支付方式 from vw_print_pay_agent_bill b 紫色字体可为变量。例: (case when pay_money > 0 then clear_account_name when pay_money < 0 then agent_account_name end) as 国库清算账户名称 当b.pay_money> 0时输出清算银行账户名称。当pay_money < 0时输出代理银行账户名称。 10.initcap 返回字符串并将字符串的第一个字母变为大写; select initcap('meng') as 别名 from 表
11、instr(a,b,c,d) 默认为1在一个字符串中搜索指定的字符,返回发现指定的字符的位置; a 被搜索的字符串 b 希望搜索的字符串 c 搜索的开始位置,默认为1 d 出现的位置, select instr('meng ling yun','n',1,2) 别名 from vw_budget_voucher
12、length 返回字符串的长度;
13、lower 返回字符串,并将所有的字符小写
14、rpad 在列的右边添加字符 lpad 在列的左边添加字符 select rpad(lpad(ba_name,20,'&'),25,'*') 添加字符 from budget_voucher 不够字符则用字符来填满 15、ACOS 给出反余弦的值 16、ASIN 给出反正弦的值 17、ATAN 返回一个数字的反正切值 18、CEIL 返回大于或等于给出数字的最小整数 19、COS 返回一个给定数字的余弦 20、COSH 返回一个数字反余弦值 21、EXP 返回一个数字e的n次方根 22、FLOOR 对给定的数字取整数 23、LN 返回一个数字的对数值 24、LOG(n1,n2) 返回一个以n1为底n2的对数 25、MOD(n1,n2) 返回一个n1除以n2的余数 26、POWER 返回n1的n2次方根 27、ROUND和TRUNC 按照指定的精度进行舍入 28、SIGN 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 29、SIN 返回一个数字的正弦值
因为:http://megnlingyun.blog.ccidnet.com/blog-htm-itemid-240457-do-showone-type-blog-uid-35878.html
|