日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > Sybase(sqlanywhere)比較應用版本大小數據庫函數

Sybase(sqlanywhere)比較應用版本大小數據庫函數

來源:程序員人生   發布時間:2013-12-11 14:15:55 閱讀次數:3707次


Sybase(sqlanywhere)比較應用版本大小數據庫函數

 

前置條件:版本以"."進行分割。    

 

[sql]

ALTER FUNCTION "SMM"."fn_justsy_zh_compare_app_version"(   

    IN  p_original      VARCHAR(50)   

   ,IN  p_compare       VARCHAR(50)  

 )  

RETURNS INTEGER  

DETERMINISTIC  

    -- 比較應用版本、  

    -- p_original > p_compare return -1  

    -- p_original = p_compare return 0  

    -- p_original > p_compare return 1  

BEGIN  

    DECLARE lv_comp         INTEGER;  

    DECLARE lv_ori_index    INTEGER;  

    DECLARE lv_com_index    INTEGER;  

    DECLARE lv_sort_key     INTEGER;  

    DECLARE lv_sort_index   INTEGER;  

  

--    DECLARE lv_last_ori     VARCHAR(20);  

--    DECLARE lv_last_com     VARCHAR(20);  

--    DECLARE lv_temp_ori VARCHAR(20) ;  

--    DECLARE lv_temp_com VARCHAR(20) ;  

--    DECLARE lv_temp_sort INTEGER;  

  

    DECLARE LOCAL TEMPORARY TABLE SplitTable ( SortKey INTEGER DEFAULT AUTOINCREMENT, OriVal VARCHAR(20), ComVal VARCHAR(20), PRIMARY KEY(SortKey));  

    --------  Init Value-------  

    SET lv_comp = -1 ;      

    SET p_original = TRIM(p_original) ;      

    SET p_compare =  TRIM(p_compare) ;  

    SET lv_sort_key = 1 ;      

    --------  Init Value-------  

  

    -- 拆分出p_original變量中字符串  

    SET lv_ori_index = CHARINDEX('.', p_original) ;  

    WHILE lv_ori_index >= 1 LOOP  

        INSERT INTO SplitTable( OriVal) VALUES (LEFT(p_original,lv_ori_index -1)) ;  

        SET p_original = SUBSTR(p_original,lv_ori_index + 1,LENGTH(p_original)-lv_ori_index) ;  

        SET lv_ori_index = CHARINDEX('.', p_original) ;  

    END LOOP ;      

    INSERT INTO SplitTable(OriVal) VALUES (p_original) ;  

  

    -- 拆分p_compare變量中字符串  

    SET lv_com_index = CHARINDEX('.', p_compare) ;   

    WHILE lv_com_index >= 1 LOOP  

        INSERT INTO SplitTable(SortKey, ComVal) ON EXISTING UPDATE VALUES(lv_sort_key,LEFT(p_compare,lv_com_index -1)) ;  

        SET p_compare = SUBSTR(p_compare,lv_com_index + 1,LENGTH(p_compare)-lv_com_index) ;  

        SET lv_com_index = CHARINDEX('.', p_compare) ;  

        SET lv_sort_key = 1 + lv_sort_key ;  

    END LOOP ;      

    INSERT INTO SplitTable(SortKey, ComVal) ON EXISTING UPDATE VALUES(lv_sort_key, p_compare) ;  

      

--    FOR compare_temp AS compare_temp_cursor NO SCROLL CURSOR FOR  

--         SELECT OriVal, ComVal, SortKey FROM SplitTable ORDER BY SortKey FOR READ ONLY  

--    DO  

--        INSERT INTO dba.ml_temp(PFName,PFXMLValue) VALUES('fn_justsy_zh_compare_app_version',OriVal+'---'+ComVal+'--'+STRING(SortKey)) ;  

--    END FOR ;  

  

    -- 比較  

    compare_loop_for:  

    FOR compare_loop AS compare_loop_cursor NO SCROLL CURSOR FOR  

        SELECT OriVal, ComVal, SortKey FROM SplitTable ORDER BY SortKey FOR READ ONLY  

    DO  

        IF(OriVal IS NOT NULL AND ComVal IS NOT NULL) THEN  

            IF(OriVal > ComVal) THEN  

                SET lv_comp = 1 ;  

                LEAVE compare_loop_for ;   

            ELSEIF(OriVal < ComVal) THEN  

                SET lv_comp = -1 ;  

                LEAVE compare_loop_for ;   

            ENDIF ;  
 

            -- 版本相同的情況  

            IF(lv_sort_index = SortKey AND OriVal = ComVal) THEN  

                SET lv_comp = 0 ;  

            ENDIF ;             

        ELSEIF(OriVal IS NULL ) THEN  

            SET lv_comp = -1 ;  

            LEAVE compare_loop_for ;   

        ELSEIF(ComVal IS NULL) THEN   

            SET lv_comp = 1 ;  

            LEAVE compare_loop_for ;   

        END IF ;  

        SET lv_sort_index = lv_sort_index + 1 ;  

    END FOR ;      

  

    RETURN lv_comp;  

END  

調用:

 

[sql] 

select fn_justsy_zh_compare_app_version('c.26.89.1','b.25.89.1') ;

 

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 最近中文字幕大全 | 亚洲免费影院 | √天堂资源地址在线官网 | 尤物网址| 欧美性猛交xxxx黑人交 | 国产成人av在线播放 | 精品一区在线 | 日韩精品中文字幕一区二区三区 | 欧美特级 | 成人精品亚洲 | 亚洲精品视频观看 | 成人欧美一区二区三区在线播放 | 久久久亚洲精品视频 | 999免费视频| 精品国产乱码久久久久久久软件 | 国产精品爱久久久久久久 | 久久性 | 国产精品自拍一区 | 很黄很色的网站 | 精品日韩在线 | 日本三级全黄少妇三2023 | 国产免费福利 | 久久久久99精品国产片 | 福利片免费观看 | 国产精品久久久久久久久久免费 | 精品久久久久久久久久久院品网 | 久久综合久 | 精品久久99 | 片黄在线观看 | 久久免费精品 | 精品国产乱码久久久久久牛牛 | 欧美一区二区三区四区不卡 | 亚洲аv电影天堂网 | 欧美成人精品二区三区99精品 | 欧美激情一区 | 亚洲九九夜夜 | 国产精品爱啪在线线免费观看 | 日韩综合| 91精品国产日韩91久久久久久 | 午夜精品久久久久久久传媒 | 日韩精品一区二区三区四区 |