SELECT 2 + 3; -- 结果为5 SELECT 10 % 3; -- 结果为1 比较运算符:用于比较两个值并返回布尔值。 等于(=):检查两个值是否相等。 不等于(或!...=):检查两个值是否不相等。 大于(>)、大于等于(>=)、小于(比较数值的大小关系。 安全等于():比较时忽略NULL值。...SELECT 1 = 1 AND 2 = 2; -- 结果为真(1) SELECT NOT (1 = 0); -- 结果为真(1) 位运算符:用于对二进制数进行操作。...主要用于对二进制数进行操作,如位与、位或、位异或和位非等。...位与:& 位或:| 位异或:^ 位非:~例如: SELECT 6 & 3; -- 结果为2 其他运算符:如 BETWEEN, IN, IS NULL, IS NOT NULL, LIKE, REGEXP
使用 ISNULL() 判断 NULL 值 【强制】 使用 ISNULL() 来判断值是否为 NULL。 说明:NULL 与任何值的比较结果都是 NULL。...正例: -- 检查是否为 NULL SELECT * FROM orders WHERE ISNULL(customer_id); 示例: 如果你需要筛选出 customer_id 为 NULL 的订单...,使用 ISNULL() 进行判断,而不是直接使用 NULL 比较操作符。...说明:IN 操作符用于检查某个值是否在一个集合中。集合过大可能导致性能问题。...尽量将查询条件设置为列的原始值。 3. 合理使用事务 【强制】 在数据操作时使用事务来确保数据一致性和完整性。确保在事务中包含 COMMIT 或 ROLLBACK。
一、日期处理部分 1、如何确认给定的日期是否是当前日期 其思路,就像将两个日期转换为相同格式并进行简单的比较。...const isWeekend = ( date ) => date.getDay() === 6 || date.getDay() === 0; 4、检查一个日期是否在某年内 类似于我们检查日期是否与当前日期相对应的情况...在这种情况下,我们获取年份并进行比较。 date> 和 是两个 Date 实例。...g,b) => "#" + ((1 1); 22、检查函数是否为异步函数 const isAsyncFunction...= null && process.versions.node != null; 25、检测系统是否是暗模式 这是一种非常方便的方法来检查用户是否在其浏览器上启用了黑暗模式。
变量不论是否赋值都是None,但是js在未赋值的情况下是undefined,也就是说js视null为一个数值。..."+"运算时,表示字符串的拼接,不再是数学运算 转换规则 :将非字符串类型的数据转换成字符串之后进行拼接,最终结果为字符串 其他情况下,一律将操作数转number进行数学运算 运算符 赋值运算符...+1或-1 的操作 注意: 自增或自减运算符在单独与变量结合时,放前和放后没有区别 如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,那就先++/–,再进行赋值或其他运算,如果做后缀...==(不全等) 关系运算符用来判断表达式之间的关系,结果永远是布尔值 true/false 使用 字符串与字符串之间的比较 依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果...其他情况 一律将操作数转换为number进行数值比较,如果某一操作数无法转换number,则变成NaN参与比较运算,结果永远是false null和其他数据类型做等值比较运算 不转换成数字 null
逻辑非 AND 或&& 逻辑与 OR 或 || 逻辑或 XOR 逻辑异或 1.逻辑非(NOT或!)...2.逻辑与(and或&&); (1)当所有操作数均为非0值,并且不为NULL时,返回1 (2)当一个或多个操作数为0时,返回0; (3)当操作数里没有0但是有NULL,返回NULL; ?...3.逻辑或(OR或||); (1)任意一个操作数为非零值时,且不是NULL,结果为1.否则为0; (2)当两个操作数均为NULL时,或者一个为0一个为NULL时,返回NULL; ?...4.逻辑异或:(XOR) (1)任何一个操作数为NULL,返回NULL; (2)对于非NULL的操作数,如果两个操作数时非0值或者都是0值,则返回0; (3)如果一个为0值,一个为非0值,返回1,...0; 比如10的二进制是1010,14的二进制是1110,他两个的位或运算结果1110 ,转换成十进制就是14 2.位与运算符(&):对应二进制全为1时,结果位为1,否则为0; 3.位异或(^):对应的二进制位不相同时
逻辑非 AND 或&& 逻辑与 OR 或 || 逻辑或 XOR 逻辑异或 1.逻辑非(NOT或!)...(1)当操作数为0时,返回1; (2)当操作数不为0时,返回0; (3)当操作数为NULL时,返回NULL; 2.逻辑与(and或&&); (1)当所有操作数均为非0值,并且不为NULL...时,返回1 (2)当一个或多个操作数为0时,返回0; (3)当操作数里没有0但是有NULL,返回NULL; 3.逻辑或(OR或||); (1)任意一个操作数为非零值时,且不是NULL,...结果为1.否则为0; (2)当两个操作数均为NULL时,或者一个为0一个为NULL时,返回NULL; 4.逻辑异或:(XOR) (1)任何一个操作数为NULL,返回NULL; (2)对于非...NULL的操作数,如果两个操作数时非0值或者都是0值,则返回0; (3)如果一个为0值,一个为非0值,返回1, (4)a xor b的判断计算等同于a and (not b)或者(not a)and
end() 将数组的内部指针指向最后一个元素。 extract() 从数组中将变量导入到当前的符号表。 in_array() 检查数组中是否存在指定的值。 key() 从关联数组中取得键名。...、0、"0"、null、false、array() 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 true。...isset($var1, $var1, ...); // isset 不是函数,是语句。检测变量是否设置,若使用 isset() 测试一个被设置成 null 的变量,将返回 false。...而 is_null() 和 is_numeric() 会报错,二者用来判断常量会报错,比如:null,true,false... is_null($var); // 判断是否为 null。...$var === null 更快。
比较运算符 比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果 为假则返回0,其他情况则返回NULL。...a > b)is false 检查左操作数的值是否小于右操作数的值,如果是,则条件为真(true) (a < b)is true >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真...> 检查左操作数的值是否不大于右操作数的值,如果是,则条件为真(true) (a < b)is true 作用与“=”运算符作用一样,区别在于“” 可以用来对NULL进行判断 (ab...按位取反运算符 按位取反(~)运算符将给定的值的二进制数逐位进行取反操作,即将1变为0,将0变 为1。...由于按位取反(~)运算符的优先级高于按位与(&)运算符的优先级,所以10 & ~1,首先,对数字1进 行按位取反操作,结果除了最低位为0,其他位都为1,然后与10进行按位 按位右移运算符 按位右移(
在与NULL进行比较时,使用等号运算符(=)是无效的,因为任何与NULL的比较操作都会返回NULL,而不是TRUE或FALSE。要检查NULL值,应使用IS NULL或IS NOT NULL。...注意事项 当与NULL值进行比较时,和!=运算符的行为是一致的。任何与NULL的比较操作(除了IS NULL和IS NOT NULL)都会返回NULL,而不是TRUE或FALSE。...IS NULL IS NULL 是一个条件表达式,用于检查某个列的值是否为NULL。如果列的值是NULL,则表达式的结果为TRUE;否则,结果为FALSE。...IS NOT NULL IS NOT NULL 也是一个条件表达式,但它用于检查某个列的值是否不是NULL。如果列的值不是NULL,则表达式的结果为TRUE;否则,结果为FALSE。...使用通配符进行搜索时,MySQL会扫描表中的每一行,并检查列值是否与模式匹配。对于大型表,这可能会导致查询性能下降。
ORDER BY: 用于对结果集进行排序。 可以使用索引中的键,也可以使用非索引中的键。 ORDER BY 子句是否使用索引取决于多种因素,包括查询的具体情况、索引的类型和结构等。...MySQL中,BOOLEAN类型通常会被存储为TINYINT(1),并且不会直接存储NULL值(除非定义为允许NULL)。...深度解析: NULL值比较:在MySQL中,对NULL值的比较需要使用IS NULL或IS NOT NULL,而不能使用普通的等号(=)或不等号()。...查询性能:当索引字段允许为NULL时,查询NULL值时是有效的,但查询非NULL值可能性能下降,因为NULL的存在会降低查询效率。...例如,可以使用默认值代替NULL值,或者将NULL值视为特殊情况进行处理。
在 JavaScript 中,==(抽象相等)和 ===(严格相等)是两种比较运算符,它们的核心区别在于:=== 不会进行类型转换(类型和值都必须相同才返回 true),而 == 会在比较不同类型的值时自动进行类型转换...(仅比较转换后的值是否相同)。...以下是 == 在不同类型组合下的转换规则和示例:一、基本转换规则(核心)当使用 == 比较两个不同类型的值时,JavaScript 会按照以下优先级进行转换:首先检查是否有 null 或 undefined...:null == undefined 结果为 true,且它们与其他任何值比较都为 false。...若有布尔值(true/false),先将布尔值转换为数字(true → 1,false → 0)。若有数字和字符串,将字符串转换为数字(使用 Number() 转换)。
如果SQL模式与默认或预期不同,请检查服务器在启动时读取的选项文件中的设置。...通常情况下,通过插入NULL或 插入,为列生成下一个序列号0。 NO_AUTO_VALUE_ON_ZERO 为了0只NULL产生下一个序列号就抑制了这种行为。...NO_ZERO_IN_DATE 该NO_ZERO_IN_DATE模式会影响服务器是否允许年份不为零,但月份或日期部分为0的日期。...IGNORE关键字和严格SQL模式的比较 本节将比较IGNORE关键字(将错误降级为警告)和严格SQL模式(将警告升级为错误)的语句执行效果 。它描述了它们影响哪些语句,以及它们适用于哪些错误。...下表列出了默认情况下产生错误与警告时语句行为的总结比较。默认情况下产生错误的一个例子是插入NULL到NOT NULL列中。
运算符是去年才引入的,当在长函数中使用值时,可能很难将其设置为参数默认值。 为什么不该这样做 ?? 与 || 不同,?? 仅针对 null 或 undefined,并不适用于所有虚值。 3....对非布尔类型的值进行布尔检查 这种习惯看起来是什么样的 通过直接将值传给 if 语句来检查是否定义了值。...为什么不该这样做 也许我们应该考虑一下实际要检查的内容。例如上面的例子以不同的方式处理 countOfNewMessages 为 0 的情况。...在对“非布尔类型的值”进行布尔检查时 countOfNewMessages 为 0 的问题在使用 !! 时仍然会存在。 10. != null 这种习惯看起来是什么样的 棒棒运算符的小弟 !...一种常见模式是将 null 值定义为不存在的事物,将 undefined 定义为未知的事物,例如 user.firstName === null 可能意味着用户实际上没有名字,而 user.firstName
parseInt(string, radix); parseINT('1', 0) 表示 radix 为0时,且string参数不以"0x"和"0"开头时,按照10为基数进行处理,返回为1。...some(),测试是否至少有一个数组元素能让断言函数为真。 sort(),在原数组中对数组元素进行排序。 splice(),插入,删除,或替换数组元素。...(),将数组元素衔接为字符串 array.join() array.join(separator) separator,在返回的字符串中,用来分隔数组的某个元素与下一个元素的可选字符或字符串。...Object.isFrozen() 检查当前对象是否已冻结 Object.isSealed() 检查指定对象是否为封闭的 Object.keys() 返回一个包含指定对象的所有非继承可枚举属性名的数组...使用本地定义的顺序比较字符串 replace() 使用正则表达式执行查找与替换操作 search() 在一个字符串中查找匹配某个正则表达式的字串 slice() 返回字符串的一个切片或子串 split(
它确保了对任何传入的行都没有进行比较,并且还消除了将每一列指定为GROUP BY 子句的一部分的必要性。...因为它不比较值,所以 ANY_VALUE 比为解决 GROUP BY 子句中列而使用的 MIN 或 MAX 更快地返回值。...在本例中,我们并不真正关心是否将 DNAME 列包含在GROUP BY中,但我们必须这样做。在 GROUP BY 中添加额外的列意味着更多的开销。...我们使用它的方式与使用 MIN 或 MAX 的方式相同,但它经过优化以减少聚合函数的开销。ANY_VALUE 只显示它找到的第一个非空值,而不是进行任何比较。...4、与大多数函数一样,输入表达式可以是列、常量、绑定变量或由它们组成的表达式。
IN 选择与值列表中的任何值匹配的数据。 BETWEEN 选择值范围内的数据。 LIKE 基于模式匹配过滤数据。 IS NULL 检查值是否为空。 第 3 节....自连接 通过将表与自身进行比较来将表与其自身连接。 完全外连接 使用完全连接查找一个表中在另一个表中没有匹配行的行。 交叉连接 生成两个或多个表中的行的笛卡尔积。...ANY 通过将某个值与子查询返回的一组值进行比较来检索数据。 ALL 通过将值与子查询返回的值列表进行比较来查询数据。 EXISTS 检查子查询返回的行是否存在。 第 8 节....检查约束 添加逻辑以基于布尔表达式检查值。 唯一约束 确保一列或一组列中的值在整个表中是唯一的。 非空约束 确保列中的值不是NULL。 第 14 节....COALESCE 返回第一个非空参数。您可以使用它将NULL替换为一个默认值。 NULLIF 如果第一个参数等于第二个参数则返回NULL。
忽略行尾分号成为了主流(但是笔者不喜欢),更要改变这个习惯 注:standardjs 本身禁止行首括号(https://standardjs.com/readme-zhcn.html#user-content-细则) 检查一个变量是否为对象之前...比如以 0x 开头的字符串,会被解析为16进制数。 我们知道以数字 0 开头的数字为8进制数(非严格模式),比如 011 === 9,0 本身也是8进制数。...除了用于比较 null 或 undefined,永远不要使用非严格相等 == 绝不要简单的把非严格相等 == 理解为两者表示的数字一样,它有一套非常复杂的转换规则:它会先将 %%转换为 @@,然后把 !...(x 非 null 或 undefined) 简言之: x == null // 或 x == undefined 是最简单的判断 x 为 null 或 undefined 的方式,相对应的 x !...PS:将日期对象取当天 0 点为 date.setHours(0,0,0,0)PS2:取当前时间的 Unix 时间戳可以 Date.now() ?
null 或 undefined 类型。...const isNull = val => val === null; isNull(null); // true 69、isNumber 用于检查当前的值是否为数字类型。...用于检查参数的值是否为null以及类型是否为对象。...(2010, 10, 20), new Date(2010, 10, 20)); // true 75、isString 用于检查当前的值是否为字符串类型。...const last = arr => arr[arr.length - 1]; last([1, 2, 3]); // 3 81、matches 此函数功能用于比较两个对象,以确定第一个对象是否包含与第二个对象相同的属性与值
准备目录与权限 执行场景:在主机(master/node1/node2)Shell 终端 # 以 master 为示例,其它节点同理 mkdir-p /home/dba/monitor-snapshots...MySQL 容器内部快照 —— # 确认 MySQL 容器是否运行 dockerps|grep"$CONTAINER_NAME">/dev/null 2>&1 if[$?...命令检查 forcmdintop iotop ss dffreedocker;do command-v$cmd>/dev/null 2>&1 if[$?...-ne0];then echo"[ERROR] 未检测到命令:$cmd,请先安装后再运行脚本。" ... exit1 fi done 依次检查关键命令是否存在,如果缺少就提示安装示例并退出。...-ne0];then echo"[ERROR] 创建目录 $SNAPSHOT_DIR 失败,请检查权限。" exit1 fi -p:如果上层目录不存在则创建。
此外,外键约束还可以定义级联操作,例如,当主键表中的某行被删除时,与之相关的外键表中的相关行也可以被级联删除或设置为 NULL。...2.6 非空约束 非空约束(NOT NULL Constraint)是一种用于确保列中的数据不为空的约束。在定义表结构时,可以通过应用非空约束来防止在插入或更新记录时将空值(NULL)插入到特定列中。...last_name VARCHAR(50) NOT NULL, hire_date DATE ); 在上述示例中,employees 表的 first_name 和 last_name 列都被定义为非空列...stock_quantity INT DEFAULT 0: 定义了一个整数类型的列,表示产品库存数量,默认值为 0。 in_stock BOOLEAN: 定义了一个布尔类型的列,表示产品是否有库存。...100 ALTER COLUMN hire_date DATE NOT NULL; -- 将hire_date列设置为不允许为空 在上述例子中,我们使用 ALTER TABLE 语句进行了两种类型的修改