工作遇到的花里胡哨但是很实用的数据库相关的小技巧:
整体原创
一,sql语句获取某一字段的长度:
select length('某一字段');
二,行转列,列转行:
互转的两张表结构:

sql语句:
行转列:
SELECT
UserName,
MAX(CASE Subject WHEN '语文' THEN Score ELSE 0 END) AS '语文',
MAX(CASE Subject WHEN '数学' THEN Score ELSE 0 END) AS '数学',
MAX(CASE Subject WHEN '英语' THEN Score ELSE 0 END) AS '英语',
MAX(CASE Subject WHEN '生物' THEN Score ELSE 0 END) AS '生物'
FROM StudentScores
GROUP BY UserName
列转行:
select user_name, '语文' COURSE , CN_SCORE as SCORE from TEST_TB_GRADE2
union select user_name, '数学' COURSE, MATH_SCORE as SCORE from TEST_TB_GRADE2
union select user_name, '英语' COURSE, EN_SCORE as SCORE from TEST_TB_GRADE2
order by user_name,COURSE;
三,查看表中的字段以及字段类型
已查询结果显示
desc 表名;
show columns from 表名;
describe 表名;
以sql语句显示
show create table 表名;
还可以通过专门的管理表来查看
use information_schema
select * from columns where table_name=’表名’;
---------------------
作者:goatwen
来源:CSDN
原文:https://blog.csdn.net/god_wen/article/details/79271032
四,sql截取字符串函数
substring(str, pos); substring(str, pos, len)
从字符串的第 4 个字符位置开始取,直到结束。
mysql> select substring('sqlstudy', 4);
+------------------------------+
| substring('sqlstudy', 4) |
+------------------------------+
| study |
+------------------------------+
从字符串的第 4 个字符位置开始取,只取 2 个字符。
mysql> select substring('sqlstudy', 4, 2);
+---------------------------------+
| substring('sqlstudy.', 4, 2) |
+---------------------------------+
| st |
+---------------------------------+
来源以及更多介绍:https://www.cnblogs.com/wjm956/p/7724244.html
五,MySQL生成32位无"-"UUID
SELECT REPLACE(uuid(), '-', '');
本文分享了SQL中一些实用但可能被忽视的技巧,包括如何获取字段长度、行转列和列转行的方法、查看表字段及类型的不同方式、字符串截取函数的使用,以及生成无-的32位UUID。这些技巧对于数据库操作人员来说非常实用。

340

被折叠的 条评论
为什么被折叠?



