首页 > 其他分享 >lightdb 允许常用比较操作符之前存在空格

lightdb 允许常用比较操作符之前存在空格

时间:2024-01-22 11:44:18浏览次数:22  
标签:count lightdb -- 空格 操作符 dual where select

背景

在 Oracle 中,>=, <=, !=, <> 操作符字符之间允许存在空格。为兼容这种特性,LightDB 24.1 中对这些比较操作符作了特殊处理。

用例

select count(*) from dual where 1 >  = 1;
select count(*) from dual where 1 <   =  1;
select count(*) from dual where 1 !     =   2;
select count(*) from dual where 1 <       >   1;

自定义操作符不会受到影响,

--
-- custom operator should not be affected
--{
create function strong_not_equal(int, int) returns bool as 'select $1 != $2' language sql;
create operator <>= (
  function = strong_not_equal,
  leftarg = int, rightarg = int
);
--= false
select count(*) from dual where 1 <>= 2;
--= error
select count(*) from dual where 1< >= 2;
--= error
select count(*) from dual where 1 < > = 2;
--= error
select count(*) from dual where 1  <> = 2;
--}

标签:count,lightdb,--,空格,操作符,dual,where,select
From: https://www.cnblogs.com/lddcool/p/17979728

相关文章

  • lightdb 支持无参函数无括号使用
    背景在Oracle中,用户自定义的无参函数可以不带括号执行。为支持该特性,LightDB24.1版本中,允许用户使用无参函数的函数名调用函数,包括系统函数,如:now.用例createfunctionfn_noparam()RETURNSintlanguagesqlas$$select1;$$;--=1,simpleexprselectfn_noparam......
  • lightdb datetime 函数参数名支持
    背景在Oracle和PostgreSQL中datetime标识符并没有作为关键字,也不是数据类型。在Mysql中,datetime是数据类型名,但并不是保留关键字。在LightDB23.4及以前版本中,datetime被误当成可以作为列名的关键字,导致Oracle用户使用datetime作为函数参数名,函数名等情况都会报......
  • 操作符详解
    一、操作符算术操作符:+-*/%1,除了%操作符之外,其他几个操作符都可以作用于整数和浮点数;2,对于/操作符,如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法;3,%操作符的两个操作数必须为整数,返回的是整除之后的余数。#include<stdio.h>intmain(){ inta=5......
  • sed的&操作符+复盘和把经验转化为能力+sed替换关联环境变量+SystemC+C++的struct和cla
    sed的&操作符sed一般是按行操作,如果匹配到,那么匹配到的内容被表示为&。以下是在单行操作中,想要实现在某行数据特定字符前后插入字符的方法。复盘和把经验转化为能力https://www.163.com/dy/article/GEI2Q9EN05429MRP.html通过寻找和尝试新的做事方式,你才能提高自己的能力。......
  • C++内存分配揭秘:new操作符::operator new和Placement new的区别
     在C++中,new 操作符、::operatornew 和placementnew是用于动态内存分配的工具,但它们有不同的用法和行为。以下是它们的区别和用法的详细实例:1.new操作符new 操作符用于在堆上动态分配内存,并调用对象的构造函数初始化对象。#include<iostream>classMyClass{p......
  • 写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中
    描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围:1\len\le1000\1≤n≤1000输入描述:第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。输出描述:......
  • c++教程2操作符
    2操作符算数运算赋值比较逻辑运算条件检查size优先级数据类型转换2.1算数运算arithmetic.cpp#include<iostream>usingnamespacestd;intmain(){inta=8,b=4;cout<<"Additionresult:"<<(a+b)<<endl;cout<<"Subt......
  • lightdb/postgresql中plpgsql、函数与操作符、表达式及其内部实现
    PG_PROCPG_OPERATORpg_opclass用于定义索引上的相关操作符,一般来说是同一类数据类型。pg_opfamiliy定义了相互兼容的数据类型的操作符,关系见https://www.postgresql.org/docs/9.1/catalog-pg-opclass.html。pg8.3引入pg_opfamilies,原因:Create "operatorfamilies" toimprove......
  • PHP 操作符spaceship
    PHP操作符spaceshipPHP7.0及以后的版本引入了spaceship操作符(<=>,也被称为三向比较运算符或组合比较运算符),这是一个非常有用的语法糖,用于比较两个表达式的大小。这个操作符返回一个整数值,表示两个表达式之间的关系,如下所示:如果$a小于$b,spaceship操作符返回-1。如果$a......
  • lightdb empty_clob/empty_blob 函数兼容性升级
    背景在Oracle中,长度为0的字符串被视为NULL.下文中长度为0的字符串被称为EMPTY_STRING.而PostgreSQL能够区别对待EMPTY_STRING和NULL.为了兼容Oracle的行为,在LightDB23.4版本前,已经基本将EMPTY_STRING当成了NULL.如,以下sql,select''::textisnull;......