数据库函数1.分别计算字符串“Hello World!"和"University"的长度; 2.从字符串“Nice to meet you!"中获取子字符串“meet"; 3.重复输出3次字符串"Cheer!"; 4.将字符串”voodoo“逆序输出; 5.4个字符串"MySQL""not""is""great",按顺序排列,从中选择1、3和4位置处的字符串组成新的字符串。 6.计算当前日期是一年的第几周,第几天,星期几,一周中的第几天,第几个工作日; 7.使用show processlist语句查看当前连接状态; 8.使用加密函数encode对字符串"MySQL"加密,并使用decode函数解密; 9.将十进制的值100转换为十六进制值。 10.格式化数值5.1584,四舍五入保留到小点后面第3位。 11.将字符串”new string"的字符集改为gb2312。
时间: 2023-07-21 14:31:02 浏览: 313
以下是使用SQL语言实现以上函数的示例代码:
1. 计算字符串长度
```sql
SELECT LENGTH("Hello World!"); -- 输出结果为 12
SELECT LENGTH("University"); -- 输出结果为 10
```
2. 获取子字符串
```sql
SELECT SUBSTRING("Nice to meet you!", 6, 4); -- 输出结果为 meet
```
3. 重复输出字符串
```sql
SELECT REPEAT("Cheer!", 3); -- 输出结果为 Cheer!Cheer!Cheer!
```
4. 字符串逆序输出
```sql
SELECT REVERSE("voodoo"); -- 输出结果为 oodoov
```
5. 按顺序排列字符串并选取部分组成新字符串
```sql
SELECT CONCAT("MySQL", "is", "great", "not") AS str
FROM (SELECT 1 AS id UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) t
WHERE id IN (1, 3, 4)
ORDER BY id;
-- 输出结果为 MySQLgreatnot
```
6. 计算日期相关信息
```sql
SELECT WEEK(CURDATE()) AS week_of_year,
DAYOFYEAR(CURDATE()) AS day_of_year,
DAYNAME(CURDATE()) AS day_of_week,
DAYOFWEEK(CURDATE()) AS day_in_week,
DAYOFWEEK(CURDATE()) + ((WEEK(CURDATE()) - 1) * 7) - 1 AS day_in_workweek;
-- 输出结果为 当前日期是第32周,第2天,星期二,一周中的第2天,第8个工作日
```
7. 查看当前连接状态
```sql
SHOW PROCESSLIST;
```
8. 加密字符串
```sql
SELECT ENCODE("MySQL", "secret_key") AS encoded_str; -- 加密字符串
SELECT DECODE(encoded_str, "secret_key") AS decoded_str; -- 解密字符串
```
9. 将十进制值转换为十六进制值
```sql
SELECT HEX(100); -- 输出结果为 64
```
10. 格式化数值
```sql
SELECT ROUND(5.1584, 3); -- 输出结果为 5.158
```
11. 修改字符串字符集
```sql
SELECT CONVERT("new string" USING gb2312); -- 将字符串的字符集转换为 gb2312
```
阅读全文