麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > DB2 > 正文

DB2中REVERSE函數的實現方法

2020-01-31 14:51:53
字體:
來源:轉載
供稿:網友

ORACLE:

SQL> select reverse('1234') from dual;

REVERSE(
--------
4321

SQL> select reverse(12121) from dual;
select reverse(12121) from dual
               *
第 1 行出現錯誤:
ORA-00932: 數據類型不一致: 應為 CHAR, 但卻獲得 NUMBER

說明oracle中reverse的參數是char類型,返回值也是char,到底是不是這樣,我們來驗證一下

SQL> select length(reverse('1234    ')) from dual;

LENGTH(REVERSE('1234'))
-----------------------
                      8

SQL> select reverse('1234    ') from dual;

REVERSE('1234')
----------------
    4321

如果返回類型是varchar,長度應該是4,所以返回值是char。參數類型也應該是是char。

sql server:

reverse函數的參數類型varchar或nvarchar,返回類型也是varchar或nvarchar

C:/>sqlcmd -S kermart -U sa -P sa -d master
1> select reverse('1234');
2> go

----
4321

(1 行受影響)
1> select reverse(1234);  --發生類型轉換,應該可以從執行計劃中看出來
2> go

------------
4321

(1 行受影響)

 
基于oracle,sql server都內置了reverse函數,DB2也應該有它的reverse函數,因為有一定的應用場景。

CREATE OR REPLACE FUNCTION REVERSE( p1 varchar(200)) RETURNS VARCHAR(200) SPECIFIC "REVERSE" LANGUAGE SQL DETERMINISTIC NO EXTERNAL ACTION READS SQL DATABEGIN declare v_str varchar(100) default ''; DECLARE v_index INTEGER;  --定義下標 SET v_index = length(p1); WHILE(v_index >= 1) DO  SET v_str = v_str||substr(p1,v_index,1);  SET v_index = v_index - 1; END WHILE; return v_str;END@

測試一下

select reverse('123456') from dual;

654321

select reverse(1234) from dual; --看執行計劃,應該可以看到類型轉換

4321

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 香蕉视频99 | 91成 | 91精品最新国内在线播放 | 久久精品23| 久久欧美亚洲另类专区91大神 | 毛片在线视频观看 | 91短视频版高清在线观看www | 蜜桃网站免费 | 国产亚洲精品久久久久婷婷瑜伽 | 欧美重口另类videos人妖 | 久久精品小短片 | 精国品产一区二区三区有限公司 | 黄色aaa视频 | 九色成人在线 | 在线1区| 欧美性受xxxx白人性爽 | 国产成人精品一区二区视频免费 | 日韩av片在线免费观看 | 少妇一级淫片免费放播放 | 91av久久 | 毛片视频网址 | 免费黄色小视频网站 | 久久久日韩精品一区二区三区 | 国产精品久久国产精品 | 桥本有菜免费av一区二区三区 | 国产99久久精品一区二区300 | 国产亚洲精品久久久久久大师 | 99久久电影| 国产福利不卡一区二区三区 | 日韩剧情片 | 黑人一区 | 成人在线高清视频 | 黄色免费在线网站 | 国内毛片视频 | 久久久久国产成人精品亚洲午夜 | 国产精品夜色视频一级区 | 色呦呦一区二区三区 | 澳门一级淫片免费视频 | 中文字幕精品在线视频 | 黄视频网站免费观看 | 黄色特级毛片 |