MySQL 常用函数

MySQL 提供了丰富的内置函数,这些函数可以帮助开发者进行数据查询、处理和管理,以下是一些常用的 MySQL 函数:
字符串函数
CONCAT(str1, str2, ...)
: 连接两个或多个字符串。
SUBSTRING(str, pos, len)
: 返回字符串的子串。
REPLACE(str, from_str, to_str)
: 在字符串中替换所有匹配的子串。

UPPER(str)
/LOWER(str)
: 转换字符串为大写/小写。
LENGTH(str)
: 返回字符串的长度。
数值函数
ABS(x)
: 返回 x 的绝对值。
CEIL(x)
/FLOOR(x)
: 向上/下取整。

ROUND(x, d)
: 将 x 四舍五入到小数点后 d 位。
RAND()
: 返回一个随机浮点数。
日期和时间函数
CURDATE()
/CURTIME()
: 返回当前日期/时间。
NOW()
: 返回当前日期和时间。
DATEDIFF(date1, date2)
: 返回两个日期之间的天数差。
DAY(date)
/MONTH(date)
/YEAR(date)
: 返回日期的日/月/年部分。
条件函数
IF(condition, value_if_true, value_if_false)
: 根据条件返回不同的值。
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
: 多条件判断。
聚合函数
COUNT(*|column)
: 计数。
SUM(column)
: 求和。
AVG(column)
: 求平均值。
MIN(column)
/MAX(column)
: 最小/最大值。
Hive 常用配置参数
Hive 是一个建立在 Hadoop 上的数据仓库工具,可以通过配置参数来优化其性能和行为,以下是一些常见的 Hive 配置参数:
参数名称 | 默认值 | 描述 |
hive.exec.dynamic.partition.mode | nonstrict | 控制动态分区模式(nonstrict, strict) |
hive.auto.convert.join | true | 是否自动将普通 join 转换为 map join |
hive.exec.reducers.max | 999 | 单个 MapReduce 作业的最大 reducers 数目 |
hive.cbo.enable | false | 是否启用基于成本的优化器(CostBased Optimizer) |
hive.vectorized.execution.enabled | true | 是否启用向量化执行 |
hive.exec.compress.output | true | 是否压缩 Hive 输出结果 |
hive.exec.dynamic.partitioning | true | 是否启用动态分区 |
hive.auto.convert.join.noconditionaltask | true | 是否在没有条件的情况下也执行 map join |
hive.optimize.skew.join | false | 是否优化倾斜连接 |
hive.exec.parallel | false | 是否并行执行 Hive 任务 |
相关问题与解答
Q1: 如何设置 Hive 的配置参数?
A1: Hive 的配置参数可以通过多种方式设置:
1、在 Hive shell 中使用SET
命令临时设置,如SET hive.exec.dynamic.partition.mode=nonstrict;
2、在 Hive 配置文件(如hivesite.xml
)中永久设置,适用于所有 Hive 会话。
3、通过命令行参数在启动 Hive 时设置,如hive hiveconf hive.exec.dynamic.partition.mode=nonstrict
Q2: 如果在使用 MySQL 时需要对字符串进行大小写不敏感的比较,应该如何操作?
A2: 在 MySQL 中,可以使用LOWER()
或UPPER()
函数将字符串转换为同一种大小写形式,然后进行比较,
SELECT * FROM table_name WHERE LOWER(column_name) = LOWER('Value');
可以在创建表时指定列的COLLATE
属性为utf8_general_ci
(或其他大小写不敏感的校对规则),这样在该列上的比较就会自动忽略大小写差异。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复