# 12.1 内置函数和运算符参考

下表列出了每个内置(本机)函数和运算符,并提供了每个的简短描述。有关列出可在运行时加载的函数的表,请参阅第 12.2 节,“可加载函数参考”.

表 12.1 内置函数和运算符

姓名 描述 介绍 已弃用
& 按位与
> 大于运算符
>> 右移
>= 大于或等于运算符
< 小于运算符
<>,!= 不等于运算符
<< 左移
<= 小于或等于运算符
<=> NULL 安全等于运算符
%,模组 模运算符
* 乘法运算符
+ 加法运算符
- 减号运算符
- 更改参数的符号
-> 评估路径后从 JSON 列返回值;相当于 JSON_提炼()。
->> 评估路径并取消引用结果后从 JSON 列返回值;相当于 JSON_取消引用(JSON_提炼())。
/ 分区运算符
:= 赋值
= 分配一个值(作为声明,或作为条款中的更新陈述)
= 等号运算符
^ 按位异或
ABS() 返回绝对值
ACOS() 返回反余弦
添加日期() 将时间值(间隔)添加到日期值
添加时间() 添加时间
AES_DECRYPT() 使用 AES 解密
AES_ENCRYPT() 使用 AES 加密
, && 逻辑与
ANY_VALUE() 仅抑制_满的_团体_按值拒绝
ASCII() 返回最左边字符的数值
ASIN() 返回反正弦
晒黑() 返回反正切
ATAN2(), 晒黑() 返回两个参数的反正切
平均() 返回参数的平均值
基准() 重复执行一个表达式
之间 ... 一个值是否在一个值范围内
斌() 返回一个包含数字二进制表示的字符串
BIN_TO_UUID() 将二进制 UUID 转换为字符串
二进制 将字符串转换为二进制字符串 8.0.27
位与() 按位返回 AND
BIT_COUNT() 返回设置的位数
BIT_LENGTH() 返回参数的长度(以位为单位)
位或() 按位或返回
BIT_XOR() 返回按位异或
CAN_ACCESS_COLUMN() 仅供内部使用
CAN_ACCESS_DATABASE() 仅供内部使用
CAN_ACCESS_TABLE() 仅供内部使用
CAN_ACCESS_USER() 仅供内部使用 8.0.22
CAN_ACCESS_VIEW() 仅供内部使用
案子 案例操作员
投掷() 将值转换为特定类型
CEIL() 返回不小于参数的最小整数值
天花板() 返回不小于参数的最小整数值
字符() 返回传递的每个整数的字符
CHAR_LENGTH() 返回参数中的字符数
CHARACTER_LENGTH() CHAR 的同义词_长度()
字符集() 返回参数的字符集
合并() 返回第一个非 NULL 参数
强制力() 返回字符串参数的排序规则强制值
整理() 返回字符串参数的排序规则
压缩() 以二进制字符串形式返回结果
连接() 返回连接的字符串
CONCAT_WS() 返回与分隔符连接
CONNECTION_ID() 返回连接的连接 ID(线程 ID)
转换() 在不同数字基数之间转换数字
转变() 将值转换为特定类型
转换_TZ() 从一个时区转换到另一个时区
COS() 返回余弦
婴儿床() 返回余切
数数() 返回返回的行数
计数(不同) 返回多个不同值的计数
CRC32() 计算循环冗余校验值
CUME_DIST() 累计分配值
CURDATE() 返回当前日期
当前的日期(), 当前的日期 CURDATE() 的同义词
目前角色() 返回当前活跃的角色
当前时间(), 当前时间 CURTIME() 的同义词
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP NOW() 的同义词
当前用户(), 当前用户 认证的用户名和主机名
时间() 返回当前时间
数据库() 返回默认(当前)数据库名称
日期() 提取日期或日期时间表达式的日期部分
DATE_ADD() 将时间值(间隔)添加到日期值
日期格式() 按指定格式日期
DATE_SUB() 从日期中减去时间值(间隔)
日期判断() 减去两个日期
日() DAYOFMONTH() 的同义词
日期名称() 返回工作日的名称
DAYOFMONTH() 返回月份中的第几天 (0-31)
星期几() 返回参数的工作日索引
年份() 返回一年中的某一天 (1-366)
默认() 返回表列的默认值
度数() 将弧度转换为度
DENSE_RANK() 当前行在其分区内的排名,没有间隙
分区 整数除法
埃尔特() 返回索引号处的字符串
经验() 提升到权力
EXPORT_SET() 返回一个字符串,这样对于值位中设置的每个位,您都会得到一个 on 字符串,对于每个未设置的位,您都会得到一个 off 字符串
提炼() 提取日期的一部分
提取值() 使用 XPath 表示法从 XML 字符串中提取值
场地() 后续参数中第一个参数的索引(位置)
FIND_IN_SET() 第二个参数中第一个参数的索引(位置)
FIRST_VALUE() 窗口框架第一行的参数值
地面() 返回不大于参数的最大整数值
格式() 返回格式化为指定小数位数的数字
FORMAT_BYTES() 将字节数转换为单位值 8.0.16
FORMAT_PICO_TIME() 以皮秒为单位将时间转换为单位值 8.0.16
FOUND_ROWS() 对于带有 LIMIT 子句的 SELECT,如果没有 LIMIT 子句,将返回的行数
FROM_BASE64() 解码base64编码字符串并返回结果
FROM_DAYS() 将天数转换为日期
FROM_UNIXTIME() 将 Unix 时间戳格式化为日期
几何集合() 从几何构造几何集合
几何集合() 从几何构造几何集合
GET_DD_COLUMN_PRIVILEGES() 仅供内部使用
GET_DD_CREATE_OPTIONS() 仅供内部使用
GET_DD_INDEX_SUB_PART_LENGTH() 仅供内部使用
GET_FORMAT() 返回日期格式字符串
GET_LOCK() 获取命名锁
最伟大的() 返回最大的参数
GROUP_CONCAT() 返回一个连接的字符串
分组() 将超级聚合 ROLLUP 行与常规行区分开来
GTID_SUBSET() 如果子集中的所有 GTID 也在集合中,则返回 true;否则为假。
GTID_SUBTRACT() 返回集合中所有不在子集中的 GTID。
十六进制() 十进制或字符串值的十六进制表示
小时() 提取小时
ICU_VERSION() ICU图书馆版本
如果() if/else 构造
IFNULL() 空 if/else 构造
在() 一个值是否在一组值内
INET_ATON() 返回 IP 地址的数值
INET_NTOA() 从数值返回 IP 地址
INET6_ATON() 返回 IPv6 地址的数值
INET6_NTOA() 从数值返回 IPv6 地址
插入() 在指定位置插入子字符串,最多指定字符数
指令() 返回子字符串第一次出现的索引
INTERNAL_AUTO_INCREMENT() 仅供内部使用
INTERNAL_AVG_ROW_LENGTH() 仅供内部使用
内部检查时间() 仅供内部使用
内部校验和() 仅供内部使用
INTERNAL_DATA_FREE() 仅供内部使用
INTERNAL_DATA_LENGTH() 仅供内部使用
INTERNAL_DD_CHAR_LENGTH() 仅供内部使用
INTERNAL_GET_COMMENT_OR_ERROR() 仅供内部使用
INTERNAL_GET_ENABLED_ROLE_JSON() 仅供内部使用 8.0.19
INTERNAL_GET_HOSTNAME() 仅供内部使用 8.0.19
INTERNAL_GET_USERNAME() 仅供内部使用 8.0.19
INTERNAL_GET_VIEW_WARNING_OR_ERROR() 仅供内部使用
INTERNAL_INDEX_COLUMN_CARDINALITY() 仅供内部使用
INTERNAL_INDEX_LENGTH() 仅供内部使用
INTERNAL_IS_ENABLED_ROLE() 仅供内部使用 8.0.19
INTERNAL_IS_MANDATORY_ROLE() 仅供内部使用 8.0.19
INTERNAL_KEYS_DISABLED() 仅供内部使用
INTERNAL_MAX_DATA_LENGTH() 仅供内部使用
内部表行() 仅供内部使用
INTERNAL_UPDATE_TIME() 仅供内部使用
间隔() 返回小于第一个参数的参数的索引
根据布尔值测试值
IS_FREE_LOCK() 命名锁是否空闲
IS_IPV4() 参数是否为 IPv4 地址
IS_IPV4_COMPAT() 参数是否为 IPv4 兼容地址
IS_IPV4_MAPPED() 参数是否为 IPv4 映射地址
IS_IPV6() 参数是否为 IPv6 地址
不是 根据布尔值测试值
不为空 NOT NULL 值测试
一片空白 空值测试
IS_USED_LOCK() 命名锁是否在使用中;如果为真,则返回连接标识符
IS_UUID() 参数是否是有效的 UUID
一片空白() 测试参数是否为 NULL
JSON_ARRAY() 创建 JSON 数组
JSON_ARRAY_APPEND() 将数据附加到 JSON 文档
JSON_ARRAY_INSERT() 插入 JSON 数组
JSON_ARRAYAGG() 将结果集作为单个 JSON 数组返回
JSON_CONTAINS() JSON 文档是否在路径中包含特定对象
JSON_CONTAINS_PATH() JSON 文档是否包含路径中的任何数据
JSON_DEPTH() JSON 文档的最大深度
JSON_EXTRACT() 从 JSON 文档返回数据
JSON_INSERT() 将数据插入 JSON 文档
JSON_KEYS() JSON 文档中的键数组
JSON_LENGTH() JSON 文档中的元素数
JSON_MERGE() 合并 JSON 文档,保留重复键。不推荐使用的 JSON 同义词_合并_保存() 是的
JSON_MERGE_PATCH() 合并 JSON 文档,替换重复键的值
JSON_MERGE_PRESERVE() 合并 JSON 文档,保留重复键
JSON_OBJECT() 创建 JSON 对象
JSON_OBJECTAGG() 将结果集作为单个 JSON 对象返回
JSON_OVERLAPS() 比较两个 JSON 文档,如果它们有任何共同的键值对或数组元素,则返回 TRUE (1),否则返回 FALSE (0) 8.0.17
JSON_PRETTY() 以人类可读的格式打印 JSON 文档
JSON_QUOTE() 引用 JSON 文档
JSON_REMOVE() 从 JSON 文档中删除数据
JSON_REPLACE() 替换 JSON 文档中的值
JSON_SCHEMA_VALID() 根据 JSON 模式验证 JSON 文档;如果文档根据架构验证,则返回 TRUE/1,否则返回 FALSE/0 8.0.17
JSON_SCHEMA_VALIDATION_REPORT() 根据 JSON 模式验证 JSON 文档;返回 JSON 格式的关于验证结果的报告,包括成功或失败以及失败的原因 8.0.17
JSON_SEARCH() JSON 文档中值的路径
JSON_SET() 将数据插入 JSON 文档
JSON_STORAGE_FREE() 部分更新后在 JSON 列值的二进制表示中释放空间
JSON_STORAGE_SIZE() 用于存储 JSON 文档的二进制表示的空间
JSON_TABLE() 从 JSON 表达式返回数据作为关系表
JSON_TYPE() JSON 值的类型
JSON_UNQUOTE() 取消引用 JSON 值
JSON_VALID() JSON值是否有效
JSON_VALUE() 从提供的路径指向的位置的 JSON 文档中提取值;将此值作为 VARCHAR(512) 或指定类型返回 8.0.21
落后() 来自分区内滞后当前行的行的参数值
最后一天 返回参数的月份的最后一天
LAST_INSERT_ID() 最后一个 INSERT 的 AUTOINCREMENT 列的值
LAST_VALUE() 窗口框架最后一行的参数值
LCASE() LOWER() 的同义词
带领() 分区内行前导当前行的参数值
至少() 返回最小的参数
剩下() 返回指定的最左边的字符数
长度() 返回字符串的长度(以字节为单位)
喜欢 简单的模式匹配
线串() 从点值构造 LineString
LN() 返回参数的自然对数
加载文件() 加载命名文件
当地时间(), 当地时间 现在()的同义词
本地时间戳, 本地时间戳() 现在()的同义词
定位() 返回子字符串第一次出现的位置
日志() 返回第一个参数的自然对数
日志10() 返回参数的以 10 为底的对数
LOG2() 返回参数的以 2 为底的对数
降低() 以小写形式返回参数
LPAD() 返回字符串参数,左填充指定的字符串
LTRIM() 删除前导空格
MAKE_SET() 返回一组逗号分隔的字符串,这些字符串在 bits 集中具有相应的位
制作日期() 根据年份和日期创建日期
找时间() 从小时、分钟、秒创建时间
MASTER_POS_WAIT() 阻塞直到副本读取并应用所有更新到指定位置 8.0.26
匹配() 执行全文搜索
最大限度() 返回最大值
MBRContains() 一个几何的 MBR 是否包含另一个几何的 MBR
MBRCoveredBy() 一个 MBR 是否被另一个覆盖
MBRCovers() 一个 MBR 是否覆盖另一个
MBR不相交() 两个几何的 MBR 是否不相交
MBREquals() 两个几何的 MBR 是否相等
MBRIntersects() 两个几何的 MBR 是否相交
MBROverlaps() 两个几何的 MBR 是否重叠
MBRTouches() 两个几何的 MBR 是否接触
MBRWithin() 一个几何的 MBR 是否在另一个几何的 MBR 内
MD5() 计算 MD5 校验和
成员() 如果第一个操作数与作为第二个操作数传递的 JSON 数组的任何元素匹配,则返回 true (1),否则返回 false (0) 8.0.17
微秒() 从参数返回微秒
中() 返回从指定位置开始的子字符串
最小() 返回最小值
分钟() 从参数返回分钟
模组() 返回剩余部分
月() 从过去的日期返回月份
月名() 返回月份的名称
多行字符串() 从 LineString 值构造 MultiLineString
多点() 从点值构造多点
多多边形() 从 Polygon 值构造 MultiPolygon
NAME_CONST() 使列具有给定名称
不是, 否定价值
不在……和……之间 值是否不在值范围内
不在() 一个值是否不在一组值内
不喜欢 简单模式匹配的否定
不是正则表达式 否定正则表达式
现在() 返回当前日期和时间
NTH_VALUE() 来自第 N 行窗口框架的参数值
NTILE() 其分区内当前行的桶数。
NULLIF() 如果 expr1 = expr2 返回 NULL
华侨城() 返回包含数字的八进制表示的字符串
OCTET_LENGTH() LENGTH() 的同义词
要么, || 逻辑或
ORD() 返回参数最左边字符的字符代码
PERCENT_RANK() 百分比排名值
PERIOD_ADD() 为年月添加期间
PERIOD_DIFF() 返回期间之间的月数
PI() 返回 pi 的值
观点() 从坐标构造点
多边形() 从 LineString 参数构造多边形
位置() LOCATE() 的同义词
战俘() 将引发的参数返回到指定的幂
力量() 将引发的参数返回到指定的幂
PS_CURRENT_THREAD_ID() 当前线程的性能架构线程 ID 8.0.16
PS_THREAD_ID() 给定线程的性能架构线程 ID 8.0.16
25美分硬币() 从日期参数返回季度
引用() 转义参数以在 SQL 语句中使用
弧度() 返回参数转换为弧度
兰德() 返回一个随机浮点值
随机字节() 返回一个随机字节向量
秩() 当前行在其分区内的排名,有间隙
正则表达式 字符串是否匹配正则表达式
正则表达式_INSTR() 子串匹配正则表达式的起始索引
正则表达式_LIKE() 字符串是否匹配正则表达式
正则表达式_REPLACE() 替换匹配正则表达式的子字符串
REGEXP_SUBSTR() 返回匹配正则表达式的子字符串
RELEASE_ALL_LOCKS() 释放所有当前的命名锁
RELEASE_LOCK() 释放命名锁
重复() 重复一个字符串指定的次数
代替() 替换指定字符串的出现
逆转() 反转字符串中的字符
正确的() 返回指定的最右边的字符数
力克 字符串是否匹配正则表达式
ROLES_GRAPHML() 返回表示内存角色子图的 GraphML 文档
圆形的() 围绕论点
ROW_COUNT() 更新的行数
ROW_NUMBER() 其分区内的当前行数
RPAD() 附加字符串指定次数
RTRIM() 删除尾随空格
架构() DATABASE() 的同义词
SEC_TO_TIME() 将秒转换为 'hh:mm:ss' 格式
第二() 返回第二个 (0-59)
SESSION_USER() USER() 的同义词
SHA1(), 沙() 计算 SHA-1 160 位校验和
SHA2() 计算 SHA-2 校验和
标志() 返回参数的符号
罪() 返回参数的正弦
睡觉() 睡几秒钟
声音() 返回一个 soundex 字符串
听起来像 比较声音
SOURCE_POS_WAIT() 阻塞直到副本读取并应用所有更新到指定位置 8.0.26
空间() 返回指定空格数的字符串
平方根() 返回参数的平方根
ST_Area() 返回多边形或多多边形区域
ST_AsBinary(), ST_AsWKB() 从内部几何格式转换为 WKB
ST_AsGeoJSON() 从几何生成 GeoJSON 对象
ST_AsText(), ST_AsWKT() 从内部几何格式转换为 WKT
ST_Buffer() 返回几何给定距离内的点的几何
ST_Buffer_Strategy() 为 ST 生成策略选项_缓冲()
ST_Centroid() 将质心作为一个点返回
ST_Collect() 将空间值聚合到集合中 8.0.24
ST_Contains() 一个几何图形是否包含另一个几何图形
ST_ConvexHull() 返回几何的凸包
ST_Crosses() 一个几何图形是否与另一个几何图形相交
ST_Difference() 两个几何形状的返回点集差异
ST_Dimension() 几何尺寸
ST_Disjoint() 一个几何图形是否与另一个几何图形脱节
ST_Distance() 一个几何体与另一个几何体的距离
ST_Distance_Sphere() 地球上两个几何图形之间的最小距离
ST_EndPoint() 线串的终点
ST_信封() 返回几何的 MBR
ST_Equals() 一个几何图形是否等于另一个几何图形
ST_ExteriorRing() 返回 Polygon 的外环
ST_FrechetDistance() 一个几何体与另一个几何体的离散 Fréchet 距离 8.0.23
ST_GeoHash() 产生一个geohash值
ST_GeomCollFromText(), ST_GeometryCollectionFromText(), ST_GeomCollFromTxt() 从 WKT 返回几何集合
ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB() 从 WKB 返回几何集合
ST_GeometryN() 从几何集合中返回第 N 个几何
ST_GeometryType() 返回几何类型的名称
ST_GeomFromGeoJSON() 从 GeoJSON 对象生成几何
ST_GeomFromText(), ST_GeometryFromText() 从 WKT 返回几何图形
ST_GeomFromWKB(), ST_GeometryFromWKB() 从 WKB 返回几何图形
ST_HausdorffDistance() 一个几何体与另一个几何体的离散豪斯多夫距离 8.0.23
ST_InteriorRingN() 返回 Polygon 的第 N 个内环
ST_Intersection() 返回点集两个几何的交集
ST_Intersects() 一个几何图形是否与另一个几何图形相交
ST_IsClosed() 几何是否封闭且简单
ST_IsEmpty() 几何是否为空
ST_IsSimple() 几何是否简单
ST_IsValid() 几何是否有效
ST_LatFromGeoHash() 从 geohash 值返回纬度
ST_Latitude() 返回Point的纬度 8.0.12
ST_长度() LineString 的返回长度
ST_LineFromText(), ST_LineStringFromText() 从 WKT 构造 LineString
ST_LineFromWKB(), ST_LineStringFromWKB() 从 WKB 构造 LineString
ST_LineInterpolatePoint() 沿 LineString 的给定百分比的点 8.0.24
ST_LineInterpolatePoints() 沿 LineString 的给定百分比的点 8.0.24
ST_LongFromGeoHash() 从 geohash 值返回经度
ST_经度() 返回Point的经度 8.0.12
ST_MakeEnvelope() 围绕两个点的矩形
ST_MLineFromText(), ST_MultiLineStringFromText() 从 WKT 构造 MultiLineString
ST_MLineFromWKB(), ST_MultiLineStringFromWKB() 从 WKB 构造 MultiLineString
ST_MPointFromText(), ST_MultiPointFromText() 从 WKT 构造多点
ST_MPointFromWKB(), ST_MultiPointFromWKB() 从 WKB 构造多点
ST_MPolyFromText(), ST_MultiPolygonFromText() 从 WKT 构造 MultiPolygon
ST_MPolyFromWKB(), ST_MultiPolygonFromWKB() 从 WKB 构造 MultiPolygon
ST_NumGeometries() 返回几何集合中的几何数
ST_NumInteriorRing(), ST_NumInteriorRings() 返回 Polygon 中的内环数
ST_NumPoints() 返回 LineString 中的点数
ST_Overlaps() 一个几何图形是否与另一个几何图形重叠
ST_PointAtDistance() 沿 LineString 给定距离的点 8.0.24
ST_PointFromGeoHash() 将 geohash 值转换为 POINT 值
ST_PointFromText() 从 WKT 构造点
ST_PointFromWKB() 从 WKB 构造点
ST_PointN() 从 LineString 返回第 N 个点
ST_PolyFromText(), ST_PolygonFromText() 从 WKT 构造多边形
ST_PolyFromWKB(), ST_PolygonFromWKB() 从 WKB 构造多边形
ST_Simplify() 返回简化几何
ST_SRID() 返回几何的空间参考系统 ID
ST_StartPoint() 线串的起点
ST_SwapXY() 交换 X/Y 坐标的返回参数
ST_SymDifference() 返回点设置两个几何的对称差
ST_Touches() 一个几何图形是否接触另一个几何图形
ST_Transform() 变换几何坐标 8.0.13
ST_Union() 返回点集两个几何的并集
ST_Validate() 返回经过验证的几何图形
ST_Within() 一个几何体是否在另一个几何体中
ST_X() 返回Point的X坐标
ST_Y() 返回Point的Y坐标
STATEMENT_DIGEST() 计算语句摘要哈希值
STATEMENT_DIGEST_TEXT() 计算规范化语句摘要
性病() 返回总体标准差
STDDEV() 返回总体标准差
STDDEV_POP() 返回总体标准差
STDDEV_SAMP() 返回样本标准差
STR_TO_DATE() 将字符串转换为日期
STRCMP() 比较两个字符串
子日期() 日期的同义词_使用三个参数调用 SUB()
SUBSTR() 返回指定的子字符串
子串() 返回指定的子字符串
SUBSTRING_INDEX() 从指定出现次数的分隔符之前的字符串中返回子字符串
次时间() 减去时间
和() 返回总和
系统日期() 返回函数执行的时间
SYSTEM_USER() USER() 的同义词
谭() 返回参数的正切
时间() 提取传递的表达式的时间部分
时间格式() 格式为时间
TIME_TO_SEC() 返回转换为秒的参数
时差() 减去时间
时间戳() 使用单个参数,此函数返回日期或日期时间表达式;有两个参数,参数的总和
时间戳记() 向日期时间表达式添加间隔
时间戳 () 从日期时间表达式中减去间隔
TO_BASE64() 返回转换为 base-64 字符串的参数
TO_DAYS() 返回转换为天的日期参数
TO_SECONDS() 返回自第 0 年以来转换为秒的日期或日期时间参数
修剪() 删除前导和尾随空格
截短() 截断到指定的小数位数
UCASE() UPPER() 的同义词
解压() 解压缩压缩的字符串
UNCOMPRESSED_LENGTH() 返回压缩前字符串的长度
十六进制() 返回包含数字的十六进制表示的字符串
UNIX_TIMESTAMP() 返回一个 Unix 时间戳
更新XML() 返回替换的 XML 片段
上() 转换为大写
用户() 客户端提供的用户名和主机名
UTC_DATE() 返回当前 UTC 日期
UTC_TIME() 返回当前 UTC 时间
UTC_TIMESTAMP() 返回当前 UTC 日期和时间
UUID() 返回通用唯一标识符 (UUID)
UUID_SHORT() 返回一个整数值的通用标识符
UUID_TO_BIN() 将字符串 UUID 转换为二进制
VALIDATE_PASSWORD_STRENGTH() 确定密码强度
值() 定义在 INSERT 期间要使用的值
VAR_POP() 返回总体标准方差
VAR_SAMP() 返回样本方差
方差() 返回总体标准方差
版本() 返回一个表示 MySQL 服务器版本的字符串
WAIT_FOR_EXECUTED_GTID_SET() 等到给定的 GTID 已在副本上执行。
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() 采用WAIT_FOR_EXECUTED_GTID_SET(). 8.0.18
星期() 返回周数
平日() 返回工作日索引
一周年() 返回日期的日历周 (1-53)
重量字符串() 返回字符串的权重字符串
异或 逻辑异或
年() 返回年份
年周() 返回年份和星期
| 按位或
~ 位反转