oraclesql的decode
‘壹’ 请问sql中decode函数的用法
DECODE函数是ORACLE PL/SQL是功能强大的函数之一,还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。
DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
(1)oraclesql的decode扩展阅读:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。
需要注意的是,这里的if、then及else 都可以是函数或计算表达式。
‘贰’ sql decode函数里面有多个值怎么办
1, deocde 与 case when 的作用相同,用于不同条件分支的不同处理。于case when 相比只是用法不同。同样可以嵌套和满足多个值。
2,多个值
decode(name, 'Wang', '001', 'Li', '002', '003')
相当于
case
when name = 'Wang'
then '001'
when name = 'Li'
then '002'
else '003'
end
3, 嵌套
decode(name, 'Wang', decode(sno, '001', 'Yes', ''), 'Li', decode(sno,'002','Yes',''), decode(sno, '003','Yes',''))
相当于
case
when name = 'Wang'
then case
when sno='001'
then 'Yes'
else ''
end
when name='Li'
then case
when sno='002'
then 'Yes'
else ''
end
else case
when sno='003'
then 'Yes'
else ''
end
end
‘叁’ ORACLE SQL 鍒ゆ柇鏁版嵁
锅囱炬槸琛ˋ
SELECT TBL.NAME,CASE A.CLASS WHEN '2' THEN 'Y' ELSE 'N' END AS 'Y/N'
FROM (SELECT DISTINCT NAME FROM A)TBL
LEFT JOIN A ON TBL.NAME = A.NAME
WHERE A.CLASS = 2
SELECT DISTINCT NAME FROM A 鏄銮峰彇镓链夌殑瀛︾敓锛屽幓閲嶅
CASE A.CLASS WHEN '2' THEN 'Y' ELSE 'N' END AS 'Y/N' 鏄瀵笴LASS杩涜屽垽鏂
‘肆’ oracle sql语句中,有没有能够将结果集中数字替换成汉字的函数
oracle sql语句中,有没有能够将结果集中数字替换成汉字的函数?
oracle sql语句中,有能够将结果集中数字替换成汉字的函数,用decode()函数。
1,SQL是Oracle数据库对SQL语句的扩展。它是一种程序语言,叫做过程化SQL语言。
2,在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操虚裤仔作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。
3,通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,而且每条语句的执行结果也需要在网络中进行交互,占用了大量的网络带宽,消耗了大量网络传递的时间。在网络中传输的那些结果,往往都是中间结果,而不是我们所关心的。
4,在整个过程中网络里只传输了很少的数据,减少了网络传输占用的时间,所以整体程序的执行性能会有明显的提高。
5,PL/SQL的使用,使SQL成为一种高级程序设计语言,支持高级语言的块操作,条件判断,循环语句,嵌套等,与数据库核心的数据类型集成,使SQL 的程序设计效率更高.
word 中的查找替换将数字换成汉字
先用CTRL+A把WORD全文选中,然后按“CTRL+F”打开“查找和替换”,选“替换”,然后在“查找内容”中输入你想要替换掉的数字,然后在“替换为”中输入你想换成的汉字,如果只替换一处,直接点下边的“替换差汪”就可以了,如果想把文档中所有符合条件的都替换就点“全部替换”即可。
Mysql中查询一个表,把结果中的7替换成文字,请写出sql语句
7是一个字段吗?还是一个值?值的话就case when吧 case when a=7 then '文字' else a
在sql查询中null怎么替换成汉字
假设字段名为 column
case when column is null then '空' else column end
还有更方便的
isnull(column,'空')
Mysql中查询一个表,把结果中的NULL替换成0,怎么写出sql语句?
1、MSSQL: ISNULL()
语法纯扒
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
2、Oracle: NVL()
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL
WPS中如何将所有汉字替换成汉仪中宋简
首先,你的电脑系统中需要安装汉仪中宋简字体。
如果没有,可网络一下,下载安装。WIN7系统在下载的.ttf文件上点键——安装即可安装到系统中。
在WPS中,全选(按Ctrl+A),在“字体”中选择该字体。
oracle 中的instr替换成sqlserver的什么函数
Oracle:INSTR(<C1>,<C2>[,I][,J])
SQL Server:CHARINDEX(<C1>,<C2>[,I])
说明:在C2中从I开始搜索C1第1次出现的位置。I:默认1
java中数组的替换当中,如何使用fill()将数字替换成符号
当数据元素为对象时,数据的元素先要初始化,才能使用.因此,代码
a[]=new [10];
a[0].set(100);
System.out.println(a[0].num);
需要改成;
a[]=new [10];
a[0]=new ();
a[0].set(100);
System.out.println(a[0].num);
sqlite 用sql语句将结果集中的一列数据拼接成一个字符串
这个只用一个查询语句我是没有方法可以解决。
我的解决方法需要用到存储过程,可以直接使用下面代码,或者将其装入存储过程。
Declare @s varchar(200)--长度需要根据需要设定
Set @s = ''
Select @s = @s + Name from 【表】--你的表
Where 【条件】
Select @s
‘伍’ SQL中 decode()函数简介
DECODE函数,是ORACLE公司的SQL软件ORACLE
PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈!
decode()函数简介:
主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);
使用方法:
Select
decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
From
talbename
Where
…
其中columnname为要选择的table中所定义的column,
·含义解释:
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下:
if
(条件==值1)
then
return(翻译值1)
elsif
(条件==值2)
then
return(翻译值2)
......
elsif
(条件==值n)
then
return(翻译值n)
else
return(缺省值)
end
if
注:其中缺省值可以是你要选择的column
name
本身,也可以是你想定义的其他值,比如Other等;
举例说明:
现定义一table名为output,其中定义两个column分别为monthid(var型)和sale(number型),若sale值=1000时翻译为D,=2000时翻译为C,=3000时翻译为B,=4000时翻译为A,如是其他值则翻译为Other;
SQL如下:
Select
monthid
,
decode
(sale,1000,'D',2000,'C',3000,'B',4000,'A','Other')
sale
from
output
特殊情况:
若只与一个值进行比较
Select
monthid
,decode(sale,
NULL,‘---',sale)
sale
from
output
另:decode中可使用其他函数,如nvl函数或sign()函数等;
NVL(EXPR1,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
SELECT
NAME,NVL(TO_CHAR(COMM),'NOT
APPLICATION')
FROM
TABLE1;
如果用到decode函数中就是
select
monthid,decode(nvl(sale,6000),6000,'NG','OK')
from
output
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1,
如果取较小值就是
select
monthid,decode(sign(sale-6000),-1,sale,6000)
from
output,即达到取较小值的目的。
小结:
作用:将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,假如未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。
区别于SQL的其它函数,DECODE函数还能识别和操作空值。
语法:DECODE(control_value,value1,result1[,value2,result2…][,default_result]);
control
_value试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。
value1是一组成序偶的数值。假如输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用要害字NULL于之对应
result1
是一组成序偶的结果值。
default_result
未能与任何一个值匹配时,函数返回的默认值。
‘陆’ oracle涓璬ecode鍑芥暟链変粈涔堢敤锛
DECODE鍑芥暟鐩稿綋浜庝竴𨱒′欢璇鍙(IF).瀹冨皢杈揿叆鏁板间笌鍑芥暟涓镄勫弬鏁板垪琛ㄧ浉姣旇缉锛屾牴鎹杈揿叆鍊艰繑锲炰竴涓瀵瑰簲鍊笺傚嚱鏁扮殑鍙傛暟鍒楄〃鏄鐢辫嫢骞叉暟鍊煎强鍏跺瑰簲缁撴灉鍊肩粍鎴愮殑鑻ュ共搴忓伓褰㈠纺銆傚綋铹讹纴濡傛灉链鑳戒笌浠讳綍涓涓瀹炲弬搴忓伓鍖归厤鎴愬姛锛屽垯鍑芥暟涔熸湁榛樿ょ殑杩斿洖鍊笺傚尯鍒浜岙QL镄勫叾瀹冨嚱鏁帮纴DECODE鍑芥暟杩樿兘璇嗗埆鍜屾搷浣灭┖鍊.
鍏跺叿浣撶殑璇娉曟牸寮忓备笅锛
DECODE(input_value,value,result[,value,result钬][,default_result]);
鍏朵腑锛
input_value
璇曞浘澶勭悊镄勬暟鍊笺侱ECODE鍑芥暟灏呜ユ暟鍊间笌涓绯诲垪镄勫簭锅剁浉姣旇缉锛屼互鍐冲畾链钖庣殑杩斿洖缁撴灉
value
鏄涓缁勬垚搴忓伓镄勬暟鍊笺傚傛灉杈揿叆鏁板间笌涔嫔尮閰嶆垚锷燂纴鍒欑浉搴旂殑缁撴灉灏呜杩斿洖銆傚瑰簲涓涓绌虹殑杩斿洖鍊硷纴鍙浠ヤ娇鐢ㄥ叧阌瀛桸ULL浜庝箣瀵瑰簲
result
鏄涓缁勬垚搴忓伓镄勭粨鏋滃
default_result
链鑳戒笌浠讳綍涓搴忓伓鍖归厤鎴愬姛镞讹纴鍑芥暟杩斿洖镄勯粯璁ゅ
涓嬮溃镄勪緥瀛愯存槑浜嗭纴濡备綍璇诲彇鐢ㄦ埛CHECKUP琛⊿EAPARK涓镄凚LOOD_TEST_FLAG鍒椾笅镄勯”鐩锛屼綔涓箧ECODE鍑芥暟镄勫疄鍙傛敮鎸佸笺
SELECT
checkup_type,
DECODE(blood_test_flag,钬橸钬,钬橸es钬,钬橬钬,钬橬o钬,NULL,钬橬one钬,钬橧nvalid钬)
FROM
checkup;
‘柒’ 请教sql decode函数的一个简单用法
首先decode函数是Oracle独有的判断函数!
//其实就是一个简单的判断函数,比如字段的值为a
decode(字段,'a','输出是a','是a','输出是b','否则输出都不是');
//下面我拿EMP表的SCOTT来示例代码:
SELECT
DECODE(ename,'是SCOTT','Yes','不是SCOTT','No','都不是')
FROMemp
WHEREename=UPPER('scott');