oracle PLSQL /sqlserver2005基本操作对比

CASE 的语法。在一般的 SELECT 中,其语法如下:
SELECT <myColumn> =
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END //************************************************************************

sql server2005中测试如下

SELECT [createdate],
monthnumber=case month(createdate) 
    when 12  then '十二'
    when 11  then '十一'
    when 10  then '十'
    when 9  then '九'
    when 8  then '八'
    when 7  then '七'
    when 6  then '六'
    when 5  then '五'
    when 4  then '四'
    when 3  then '三'
    when 2  then '二'
    when 1  then '一'
    else '未知'
    end +'月' 
FROM [dbo].[zhq_content]

另外一种
SELECT [createdate],
monthnumber=case 
    when month(createdate)=12  then '十二'
/*    when 11  then '十一'
    when 10  then '十'
    when 9  then '九'
    when 8  then '八'
    when 7  then '七'
    when 6  then '六'
    when 5  then '五'
    when 4  then '四'
    when 3  then '三'
    when 2  then '二'
    when 1  then '一'*/
    else '未知'
    end +'月' 
FROM [dbo].[zhq_content]

//sql  server 2005中if   else用法

declare  @a  int;
declare  @b  nvarchar(50);
set @a=10;
if @a=8
 set @b='b8'
else if @a=9   -- not  elseif
 set @b='b9'
else
 set @b='b10'
print @b;

//sql server2005中字符长度

declare  @a  nvarchar(50);
declare  @b  nvarchar(50);
set @a='100.00中';
set @b=datalength(@a)--len(@a) 12

print @b;  --14

//字符截取

declare  @a  nvarchar(50);
declare  @b  nvarchar(50);
set @a='100.00';
set @b=substring(@a,1,3)--substring  和C#中的有区别(从0开始) 这里是从1开始
print @b;
--isnull(,)

//oracle*************************************************************


substr(,,)注意不是substring(,,) 如下图可知

 

nvl(,)--与sql  server中isnull差不多。。。。

原文地址:https://www.cnblogs.com/jasenkin/p/1654043.html