当前位置:   article > 正文

达梦数据库比较string大小的函数,类似于mysql的​strcmp函数​_达梦字符串比较

达梦字符串比较

 strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。

达梦数据库没有这个函数,只能曲线救国,把string转成ASCII码在比较

代码如下:

CREATE OR REPLACE FUNCTION DM_FUNC_COMPAIR (
   para1 IN VARCHAR,
   para2 IN VARCHAR
) RETURN VARCHAR
AS
   declare
   para3 int;
   para4 int;
BEGIN
    IF
       para1 == para2
    THEN
      RETURN 0;
   ELSEIF length(para1) < length(para2) THEN
      para3 = length(para1);
   ELSEIF length(para1) > length(para2) THEN
      para3 = length(para2);
   ELSEIF length(para1) == length(para2) THEN
      para3 = length(para1);
   END IF;

   FOR i IN 1..para3
      LOOP
         IF ascii(substr(para1, i, 1)) < ascii(substr(para2, i, 1)) THEN
         para4 = -1;
         RETURN -1;

         ELSEIF ascii(substr(para1, i, 1)) > ascii(substr(para2, i, 1)) THEN
         para4 = 1;
         RETURN 1;

         ELSEIF ascii(substr(para1, i, 1)) == ascii(substr(para2, i, 1)) THEN
         para4 = 0;
         END IF;
      END LOOP;

  IF
   para4 == 0  and  para3 == length(para1) THEN
    RETURN -1;
  ELSE
    RETURN 1;
  END IF;

  RETURN para4;
END;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/1006469
推荐阅读
相关标签
  

闽ICP备14008679号