
数据库
文章平均质量分 51
不知缘由
人生不易 唯有努力
展开
-
SQL Server 字段相除输出百分比的
有时我们需要将两个字段进行相除,输出百分比,可以怎么实现呢?原创 2022-10-24 22:16:39 · 2201 阅读 · 0 评论 -
SQL Server 两数相除后保留两位小数且输出百分比
SQL Server 两数相除后保留两位小数且输出百分比。原创 2022-07-22 15:01:36 · 4654 阅读 · 0 评论 -
SQL Server conflict between “Chinese_PRC_CI_AS_WS“ and “Albanian_100_BIN“ in the equal to operation.
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS_WS" and "Albanian_100_BIN" in the equal to operation.原创 2021-06-02 20:57:06 · 784 阅读 · 0 评论 -
MySQL 实现开窗函数【row_number() over(partition by xxx)】小示例
有时我们需要对数据进行分组排序,而我们的 MySQL 数据库版本又低于8.0 ,无法使用开窗函数,那么我们应该怎么来实现分组排序呢?看一下示例数据、需要实现排序的结果:结果一排序:结果二排序代码集合:drop table if exists tmp_rank_test;create table tmp_rank_test ( name varchar(255) , city varchar(255) , login_time datetime )..原创 2021-06-03 21:37:20 · 1512 阅读 · 2 评论 -
SQL Server 查看某个表/视图 已存在的索引
查看某个表/视图中存在的索引1、语法:exec sp_helpindex 表名/视图名2、返回代码值:0(成功)或 1(失败)3、结果值:列名称 数据类型 说明 index_name sysname 索引名。 index_description varchar (210) 索引说明,其中包括索引所在的文件组。 index_keys nvarchar (2078) 对其生成索引的表或视图列。 4、示例:...原创 2021-05-23 23:23:31 · 3030 阅读 · 0 评论 -
ClickHouce 查询某个数据库中的所有表名、某个表的字段名、字段类型、字段注释
有时我们需要对数据进行探究,首先想到的就是该表有哪些字段,以及字段类型、注释,那么我们该如何快速的知道呢?可参考下列的示例1、查看 Test 数据库的所有表-- 方法一select name from system.tables where database = 'Test';-- 方法二select distinct table from system.columns where database = 'Test';2、查看 Test_table 表的所有字段select原创 2021-05-20 22:59:09 · 3555 阅读 · 0 评论 -
ClickHouce TopK() 函数 找出出现最频繁的值
有时我们需要找出某列出现最频繁的值,那么我们可以直接使用TopK()函数还实现。TopK() 函数语法:topK(N)(x)参数: ① N : 要返回的元素个数;如果省略该参数,则使用默认值10。 ② x : 要计算频次的值。返回值:返回指定列中近似最常见值的数组,生成的数组按值的近似频率降序排序(而不是值本身)注:此函数不提供保证的结果。 在某些情况下,可能会发生错误,并且可能会返回不是最高频的值。建议使用 N < 10 值,N 值越大,性能越低;最大值 N.原创 2021-05-19 21:50:40 · 1306 阅读 · 0 评论 -
Mysql 合并某一列的值(将某列的值串联起来)
Mysql 合并某一列的值(将某列的值串联起来)有时我们需要将某列的值合并起来,那么我们可以怎么来实现呢?可以用 group_concat() 函数来实现例子:若想简单深入了解一下 group_concat() 函数,可继续查看group_concat()说明:函数返回一个字符串结果,串联起组中的非空值语法:group_concat([distinct] expr [,expr ...] [order by {unsigned_integer |...原创 2021-05-03 21:37:26 · 7929 阅读 · 0 评论 -
MySQL/SQL Server 如何拼接 单引号、双引号、换行键、回车键?
有时我们需要将字段值与 单引号 或 换行符 等进行拼接,那我们该如何实现呢?可以用concat() 函数,将我们需要拼接的值传入 concat()函数中先知道 单引号、双引号、换行键、回车键 的 ASCII 码 单引号 双引号 换行键 回车键 ASCII 码 (十进制) 34 39 10 13 select concat('A',char(39)) -- A 与单引号 拼接union all select concat(...原创 2021-05-03 17:50:08 · 8594 阅读 · 2 评论 -
MySQL 字符串分割(Split)函数之 SUBSTRING_INDEX 函数
有时我们需要对某个字段的值进行分割,那我们怎样快速的实现字符串的分割呢?这时我们就需要用到 SUBSTRING_INDEX 函数了函数:SUBSTRING_INDEX(str,delim,count)解释:从第 count 个 分割符(delim) 处分割字符串(str),返回子字符串。参数说明: str:将要处理的字符串 delim :用来分割 str 分割符 count:第 count 个分割符返回值: 若 count 为正,则返回分割符左侧的所有内容(...原创 2021-04-06 22:22:24 · 27522 阅读 · 0 评论 -
ClickHouce 常用数据类型转换函数
目录1、toInt(8|16|32|64)2、toFloat(|32|64)3、toDecimal(32|64|128)4、toString5、parseDateTimeBestEffort6、CAST(x, T)1、toInt(8|16|32|64)说明:转换一个输入值为Int类型。这个函数包括:toInt8(expr) — 结果为Int8数据类型。toInt16(expr) — 结果为Int16数据类型。toInt32(expr) — 结果为Int32数据原创 2021-01-16 17:31:24 · 5886 阅读 · 0 评论 -
ClickHouce 取整函数&四舍五入函数
目录 toInt(8|16|32|64) toFloat(|32|64) toDecimal(32|64|128) toString parseDateTimeBestEffort CAST(x, T) toInt(8|16|32|64) toFloat(|32|64) toDecimal(32|64|128) toString parseDateTimeBestEffort CAST(x, T) ...原创 2021-01-16 15:26:53 · 6760 阅读 · 0 评论 -
ClickHouce 常用字符串函数
目录1、empty2、notEmpty3、length4、lower, lcase5、upper, ucase6、reverse7、format(pattern, s0, s1, …)8、concat(s1, s2, …)9、substring(s,offset,length),mid(s,offset,length),substr(s,offset,length)1、empty说明:对于空字符串返回1,对于非空字符串返回0。 结果类型是UInt8。如果字符串原创 2021-01-15 22:28:53 · 864 阅读 · 0 评论 -
ClickHouse 字符串替换函数
目录1、replaceOne(haystack, pattern, replacement)2、replaceAll(haystack, pattern, replacement), replace(haystack, pattern, replacement)3、replaceRegexpOne(haystack, pattern, replacement)4、replaceRegexpAll(haystack, pattern, replacement)5、regexpQuoteMe原创 2021-01-15 21:33:07 · 13406 阅读 · 1 评论 -
ClickHouce 删除空白字符函数
目录1、trimLeft(s)2、trimRight(s)3、trimBoth(s)1、trimLeft(s)说明:返回一个字符串,用于删除左侧的空白字符。2、trimRight(s)说明:返回一个字符串,用于删除右侧的空白字符。3、trimBoth(s)说明:返回一个字符串,用于删除任一侧的空白字符。例子:select trimLeft(' Hello ClickHouce');select trimRight(' Hello ClickHouce .原创 2021-01-15 21:17:18 · 1490 阅读 · 0 评论 -
ClickHouce dateDiff() 函数
dateDiff()解析:返回两个Date或DateTime类型之间的时差。语法:dateDiff('unit', startdate, enddate, [timezone])参数: unit — 返回结果的时间单位。 类型 :String. 支持的时间单位: second, minute, hour, day, week, month, quarter, year. startdate — 第一个待比较值。 Date 或 DateTime. enddate — 第二个待比较值。 .原创 2021-01-13 21:19:47 · 7796 阅读 · 0 评论 -
ClickHouce formatDateTime() 函数
formatDateTime()解析:函数根据给定的格式字符串来格式化时间。请注意:格式字符串必须是常量表达式,例如:单个结果列不能有多种格式字符串语法:formatDateTime(Time, Format\[, Timezone\])返回值:根据指定格式返回的日期和时间小示列:select formatDateTime(toDate('2020-01-04'), '%D') as date, formatDateTime(toDate('2020-01-04'), '%F') .原创 2021-01-13 21:25:11 · 13406 阅读 · 1 评论 -
ClickHouce 常用日期函数小示例
下面是我个人觉得会比较常用的日期函数:now() toYear() toDayOfYear() addYears() subtractYears() today() toMonth() toDayOfMonth() addMonths() subtractMonths() toUnixTimestamp() toQuarter() toDayOfWeek() addDays() subtrac...原创 2021-01-13 22:55:56 · 3335 阅读 · 0 评论 -
ClickHouce 查询某个数据库中的所有表名、某些表的字段名、字段类型、字段注释
有时我们需要对数据进行探究,首先想到的就是该表有哪些字段,以及字段的类型和注释,那么我们该如何快速的知道呢?1、查询 Test 数据库 的 所有表,以及对应的建表语句select database,name,create_table_queryfrom `system`.tableswhere database = 'Test'2、查询 某些表的 所有字段名、字段类型以及字段注释:select table,name,type,commentfrom `system`.columns原创 2021-01-12 13:25:19 · 5607 阅读 · 0 评论 -
SQL Server 中数据的简单增删查改操作
本文主要是有关数据简单的增删查改操作1、创建测试表drop table if exists dina_test_table;create table dina_test_table ( id int, name char(100), date date , salary decimal(18,2));2、增加数据insert into dina_test_table values (1, 'Dina', '2021-01-11', 7000.00); inser.原创 2021-06-04 19:32:40 · 272 阅读 · 1 评论 -
SQL Server IFF() 函数 的小示例
IIF()函数,是可以替代一些 case 的表达式看一下 下面的小示例,IFF() 函数 和 case 的作用是一样的select Name, Score, IIF(Score < 60, '不及格', '及格') '是否及格', case when Score < 60 then '不及格' else '及格' end '是否及格'from( select 'Dina' Name,30 Score union al原创 2021-01-11 21:00:31 · 2293 阅读 · 0 评论 -
MySQL 输出千位分隔符 小示例
有时我们需要将结果以千位分隔符 的形式显示,那我们怎样实现呢?可使用FORMAT(X,D[,locale]) 函数函数说明:将数字X格式化为'#,###,###.##',将其舍入为 D小数位,然后将结果作为字符串返回。如果D为 0,则结果没有小数点或小数部分。可选的第三个参数允许指定语言环境,以用于结果数字的小数点,千位分隔符以及分隔符之间的分组。允许的语言环境值与lc_time_names系统变量的合法值相同 。如果未指定语言环境,则默认值为'en_US'。小示例select FO..原创 2020-12-15 12:13:13 · 4030 阅读 · 0 评论 -
MySQL 将 13/16 位时间戳 转换为 特定时间格式
有时我们遇到的时间戳不是 10 位 ,而是 13 位或者16位,那么我们改如何转换为标准时间呢可参考select account_id,is_cancel,cancel_date from ams_account where account_id='讠午牙隹王令';select FROM_UNIXTIME("1604158088748");select FROM_UNIXTIME('1604158088748'/1000,'%Y-%m-%d %H:%i:%S')-- 先转成 10 位的原创 2020-11-24 13:14:30 · 6352 阅读 · 0 评论 -
SQL Server 时间戳的 获取 & 转换为特定时间格式
-- 当前时间转换为时间戳SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())-- unix 时间戳转换为 年/月/日 时:分:秒 格式select DATEADD(s, 1605689611, '1970-01-01 00:00:00')什么是时间戳?Unix时间戳(Unix timestamp),或称Unix时间(Unix time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒...原创 2020-11-22 11:31:43 · 2690 阅读 · 0 评论 -
MySQL 时间戳的 获取 & 转换为特定时间格式
-- 当前时间转换为时间戳SELECT unix_timestamp(now());-- unix 时间戳转换为 年/月/日 时:分:秒 格式select from_unixtime(1605688563);select from_unixtime(unix_timestamp(now()))原创 2020-11-22 11:33:32 · 621 阅读 · 0 评论 -
SQL Server 把查询的数据放入表(临时表、已存在的表、新建的表)中
有时我们想把查询到的数据放到一个表里(临时表、已存在的表、新建的表),那我们该如何写呢?可参考下面的SQL1、插入到临时表里面:-- 把 test_table 的 100 条数据放到临时表 tmp_table 里select top 100 * into #tmp_table from test_table; 2、插入到一个不存在的表 (执行以下SQL 语句前,该表是不存在你的数据库里的)-- 把 表 test_table 的数据放到一个现创的 new_table 里selec.原创 2020-08-27 23:20:33 · 14818 阅读 · 0 评论 -
MySQL 取整函数&四舍五入函数
CEIL() 返回不小于参数的最小整数值 CEILING() 返回不小于参数的最小整数值 FLOOR() 返回不大于参数的最大整数值 ROUND() 返回参数的四舍五入值 1、CEIL()、CEILING()解释:返回不小于参数的最小整数值CEIL() 是 CEILING() 的同义词。mysql> SELECT CEIL(9.12), CEIL(-9.12);+------------+-------------+| CEIL(9....原创 2020-07-25 22:55:09 · 2526 阅读 · 0 评论 -
MySQL 的行转列 与 列转行 的应用小示例
不管我们在平时的学习或工作中,难免会遇到“行转列”与“列转行“”的数据操作,我们先看一下今天我们需要实现的例子1、我们的数据是这样的2、我们需要输出的数据是这样的可以先自己思考一下如何实现------------------------------------------------------------ 这是思考线 ------------------------------------------------------------------------------...原创 2020-07-25 16:11:24 · 278 阅读 · 0 评论 -
MySQL 的行转列 小示例
不管我们在平时的学习或工作中,难免会遇到行转列的数据操作,比如下面的这个例子:1、创建测试表drop table if exists stu_Score ;create table stu_Score(name varchar(10),course varchar(10),score int); 2、插入测试数据-- 插入数据insert into stu_Score values('Dina','Java',82);insert into stu_Score values(原创 2020-07-25 14:09:34 · 251 阅读 · 0 评论 -
MySQL 的 列转行 小示例
不管我们在平时的学习或工作中,难免会遇到列转行的数据操作,比如下面的这个例子:1、先建立我们的测试表drop table if exists stu_Score;create table stu_Score(name varchar(10),Java int,`C#` int,Python int);2、插入测试数据insert into stu_Score values('Dina',82,93,90);insert into stu_Score values('Paradox原创 2020-07-25 14:28:31 · 295 阅读 · 0 评论 -
MySQL Key值(PRI, UNI, MUL)的含义是什么?
PRI主键约束;UNI唯一约束;MUL可以重复。PRI => primary keyUNI=> unique key原创 2020-06-05 20:43:30 · 8932 阅读 · 0 评论 -
MySQL 当列名含有 保留字、特殊字符 时如何进行 select 、insert 等操作
在平时的学习或者工作中难免会遇到列名含有 保留字、特殊字符 等时,如何进行 select 、insert 等操作呢?保留字:select insert desc order 等特殊字符:+ - * \ & <> @ !% 等解决方案:用 反引号“`”来处理注:反引号 一般在左上角的数字1左边的那个键-- 创建含有 保留字、特殊字符 的列名,测试表drop table if exists dina_test_table;create t...原创 2020-06-05 20:48:46 · 3733 阅读 · 0 评论 -
MySQL 常用命令(开启、停止服务、连接MySQL、查看数据库、表定义信息)
1、开启、停止MySQL 服务①、开启 mysql 服务:net start mysql57②、停止 mysql 服务:net stop mysql572、连接MySQL:mysql -h主机地址 -u用户名 -p用户密码如:mysql -h localhost -P 3060 -u root -p若登录的是本机数据库,可以省略 -h localhost 部分。 -P 3060 指定数据库的端口。如果是 MySQL 默认端口 3306,也省略该部分。 -p 后面有空格,表示接下来会.原创 2020-06-05 21:15:37 · 582 阅读 · 0 评论 -
MySQL 中数据增删查改的简单操作
本文主要是有关数据简单的增删查改操作1、创建测试表drop table if exists dina_test_table;create table dina_test_table ( `id` int(11), `name` char(255), `date` date , `salary` decimal(10, 2)) ;2、增加数据insert into dina_test_table values (1, 'Dina', '2020-05-15', 8.原创 2020-06-05 21:56:19 · 273 阅读 · 0 评论 -
MySQL Json格式的数据获取 小示例
在平时的学习或者工作有时会遇到json的数据字段,那我们如何从那个字段中获取我们想要的数据呢?1、创建一个数据表drop table if exists dina_test_table;create table dina_test_table (id int ,employee json);2、插入测试数据insert into dina_test_table values(1,'{"name":"Dina","department":"数据组","Salary_obj":{"da..原创 2020-06-05 23:10:12 · 1121 阅读 · 0 评论 -
MySQL 重复数据的删除小示例
在平时的学习或者工作中有时我们难免会遇到重复的数据,若想删除某些数据,保留想保留的,那我们该如何去做呢?下面是一个删除id小的,保留 id大的那条数据的小示例1、创建我们的测试表-- 创建测试表drop table if exists dina_test_table;create table dina_test_table ( `id` int(11), `name` char(255), `date` date , `year` varchar(10) , `...原创 2020-06-05 22:44:04 · 226 阅读 · 0 评论 -
MySQL 触发器的创建 & 小示例
触发器创建的语法CREATE [DEFINER = user] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_bodytrigger_time: { BEFORE | AFTER }trigger_event: { INSE...原创 2020-05-02 12:31:35 · 695 阅读 · 0 评论 -
MySQL 事件的创建 & 小示例
1、看一下事件的设置是否开启了2、开启原创 2020-05-01 20:52:29 · 2849 阅读 · 0 评论 -
MySQL 中的常用日期函数
MySQL 中的常用日期函数函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日...原创 2020-04-22 20:55:28 · 11817 阅读 · 0 评论 -
MySQL 存储过程的控制语句 & 小示例
一、条件语句1、if-then-else 语句2、case-when-then 语句二、循环语句1、while ···· end while语句2、repeat···· end repea语句它在执行操作后检查结果,而 while 则是执行前进行检查。3. loop ·····end loop语句4、ITERATE 迭代ITERATE...原创 2020-04-19 16:18:32 · 337 阅读 · 0 评论