
数据库
文章平均质量分 50
数据库
Zero .
待到山花烂漫时
展开
-
Mysql 保留两位小数
ps:最近项目当中遇到了sql计算保留两位小数问题,在此进行存档一番Mysql ROUND(X,D) 函数 其中D可不传,默认为0,D可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0。 示例: SELECT ROUND(100.3465,2), ROUND(100,2), ROUND(0.6,2), ROUND(114.6,-1); 1 2 3 4 5 结果为: TRUNCATE(X,D) 函数 D表示,舍去小数点后原创 2020-12-10 11:55:45 · 2594 阅读 · 0 评论 -
SQL中IN和EXISTS用法的区别
参考链接:https://www.cnblogs.com/clarke157/p/7912871.html原创 2020-11-09 17:08:52 · 160 阅读 · 0 评论 -
JAVA判断奇偶数
方法:1.位运算:若是 & 1 为1 则为奇数 若为0,则为偶数select 1& 1 from dual2.余运算若是 结果为1 则为奇数,若是0 则为偶数select 1 % 2 from dual3.函数运算mod(id,2)=1 则为奇数 0为偶数select * from 表名 where mod(字段,2)=1...原创 2020-10-24 11:27:04 · 7923 阅读 · 0 评论 -
Oracle中row_number()、rank()、dense_rank() 的区别以及partition by
本章来讲解一下经常使用的排序函数,可以用来进行统计成绩排名、售卖情况排名等。目录1.row_number函数、rank函数、dense_rank函数的区别和用法1.row_number函数2.rank函数3.dense_rank函数2.partition by函数的用法1、over函数的写法:2、分区函数Partition By与rank()的用法“对比”分区函数Partition By与row_number()的用法2、分区函数Partition By与rank()的用原创 2020-10-18 14:04:39 · 2142 阅读 · 0 评论 -
Oracle sql 批量插入 Insert all into
描述Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行。该行可以只使用一个SQL命令插入到一个表或多个表。语法Oracle INSERT ALL 语法如下:INSERT ALL INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr转载 2020-09-29 09:34:22 · 6152 阅读 · 0 评论 -
Oracle sql使用sys_guid() 生成32位id乱码解决办法
前言之前用过sys_guid()方法生成过32位id,时间一长忘掉了。正所谓'好记性不如烂笔头',今天记一记。正题select sys_guid() from dual;可以看到,直接乱码了。原因:SYS_GUID 以16位RAW类型值形式返回一个全局唯一的标识符解决办法使用rawtohex()函数方法。这里科普一下 hextoraw():十六进制字符串转换为raw; rawtohex():将raw串转换为十六进制; ...原创 2020-08-03 14:53:13 · 4866 阅读 · 0 评论 -
线上服务器导入sql文件中文变乱码解决方法
1.使用notpad++把sql文件设置成linux,utf-8格式。2.查看oracle数据库编码: 首先得登录数据库:su - oracle sqlplus / as sysdbaselect userenv('language') from dual;3.设置数据库字符编码:你要在导入之前把数据库编码设置成utf-8导入export NLS_LANG=AMERICAN_AMERICA.UTF8 //设置成utf-84.导入sql文件 之后使用sqlplus...原创 2020-07-30 16:52:27 · 874 阅读 · 0 评论 -
Oracle 数据库表被锁解决方案
-- 查看是否有表被锁了 SELECT b.owner,b.object_name,a.session_id,a.locked_mode FROM v$locked_object a,dba_objects b WHERE b.object_id=a.object_id;-- 查看是哪个进程锁表了SELECT b.username,b.sid,b.serial#,logon_time FROM v$locked_object a,v$session b WHERE a.session_id=.原创 2020-07-30 11:27:22 · 255 阅读 · 0 评论 -
mybatis关于oracle in 1000个数限制的解决
Oralce in 语句中当in(1,2,3...) 条件数量大于1000将会报错。如果我们把in拆分成多个in就可以解决这个问题。修改前select *from tbl_tempwhereid in<foreach item="item" index="index" collection="ids" open="(" separator="," close=")"> #{item}</foreach>等于select *from tbl_.原创 2020-07-15 17:02:47 · 2308 阅读 · 2 评论 -
Mybatis向oracle数据库批量新增和修改时遇到的问题
写了一个批量新增的方法: INSERT INTO CRD_SUBSIDY_AMOUNT ( id, DELETED, CREATED_BY, CREATED_DATE, ORGANIZATION_ID, REMARK, SUBSIDY_GRANT_原创 2020-07-08 15:37:47 · 716 阅读 · 0 评论 -
Oracle中decode函数用法解析以及常用场景
1.decode函数的两种形式第一种形式含义解释:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IF第二种形式decode(字段或字段的运算,值1,值2,值3)转载 2020-06-28 11:25:16 · 4522 阅读 · 0 评论 -
Oracle 判断某个字段是否包含某个字符或字符串
SELECT *FROM 表名WHERE instr(字段名,'字符串')>0转载 2020-06-28 10:37:03 · 10015 阅读 · 0 评论 -
Navicate 无法连接oracle解决办法
根本原因就是navicate自带的oci.dll文件与oracle的oci.dll文件不兼容导致的你的navicate下载的是32 位还是64位,就去http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html这里下载对应的32 位 或者是 64 位的 文件,下载后解...原创 2020-02-04 10:24:08 · 4450 阅读 · 4 评论 -
Oracle给sql查询字段的结果后加上%
oracle数据库如果我想要查询当月销量增长率,并在查询结果后加上百分号该怎么做呢?像这样:方法:sql字段: select (round((当月销量-上月销量)/上月销量* 100,2)) ||'%' from 表名;...原创 2020-01-06 15:27:04 · 5798 阅读 · 0 评论 -
解决Oracle - sys_guid() 函数乱码问题
SYS_GUID () 是Oracle 8i 后提供的函数。SYS_GUID产生并返回一个全球唯一的标识符(原始值)由16个字节组成。在大多数平台,生成的标识符由主机标符,执行函数的进程或者线程标识符,和进程或线程的一个非重复的值(字节序列)。一般使用此函数生成主键ID。但是,直接使用 select sys_guid() from dual 会产生乱码问题解...转载 2020-01-03 09:45:34 · 5034 阅读 · 0 评论 -
Oracle 通过sql to_date()和 to_char() 转化日期格式
首先我的数据库日期字段是这样子的:这两个日期字段都是8位长度的字符类型的。如果插入的话就是这样的 :例如"20191221"我想的是把他们转化为yyyy-MM-dd 类型的 。类似这样:"2019-12-21"起初我是直接通过to_date转化的 :select to_date('20191221','yyyy-MM-dd') from dual结果是这样的:...原创 2019-12-21 15:22:25 · 8368 阅读 · 0 评论 -
关于操作数据库时报的java.sql.SQLException: ORA-00904:标识符无效 的问题
开发中我使用的是Oracle数据库,使用的是SpringBoot+注解版Mybatis。在对数据库进行CURD操作时老是报java.sql.SQLException: ORA-00904:标识符无效仔细检查了数据库表字段的映射,发现没问题,后来搞了好久才终于搞明白了:Oracle查询字段区分大小写,于是我把SQL语句中要查询的字段都改为大写,并且就算你的Oracle数据库使用了注...原创 2019-10-30 13:47:22 · 10342 阅读 · 0 评论 -
oracle查询某用户下的所有表及视图
select * from all_tab_comments -- 查询所有用户的表,视图等。select * fromuser_tab_comments -- 查询本用户的表,视图等。select * from all_col_comments --查询所有用户的表的列名和注释。select * fromuser_col_comments -- 查询本用户的表的列名和注释。...原创 2019-09-12 11:24:59 · 7577 阅读 · 0 评论 -
某大厂 MySQL高性能优化规范建议,建议收藏
数据库命令规范1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4、临时库表必须以tmp为前缀并以日期为后缀,备份表必须以bak为前缀并以日期(时间戳)为后缀 5、所有存储相同数据的列名和列类型必须一致(一般作为关联列,...转载 2019-07-26 17:35:59 · 282 阅读 · 0 评论 -
MySQL教程之concat以及group_concat的用法
本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2...转载 2019-04-25 11:23:00 · 3288 阅读 · 0 评论 -
SQL UNION 和 UNION ALL 操作符
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_...转载 2020-01-03 13:46:15 · 114 阅读 · 0 评论 -
Order By、Group By、Group By All 与Compute、Compute by
1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。2、原始表3、简单Group By示例1select 类别, sum(数量) as 数量之和from Agroup by 类别返回结果如下表,实际上就是分类汇总。...转载 2019-09-11 14:59:55 · 941 阅读 · 0 评论 -
SQL ROUND(x) ROUND(x,y)函数
MySQLROUND(x) 函数返回最接近于参数 x 的整数;ROUND(x,y) 函数对参数x进行四舍五入的操作,返回值保留小数点后面指定的y位。【实例 1】使用ROUND(x)函数,输入 SQL 语句执行结果如下。mysql> SELECT ROUND(-6.6),ROUND(-8.44),ROUND(3.44);+-------------+--------------+-...原创 2019-08-30 10:08:02 · 1909 阅读 · 0 评论 -
SQL— CONCAT(字符串连接函数)
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: +CONCAT() 的语法如下:CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;...原创 2019-04-25 10:41:42 · 724 阅读 · 0 评论 -
在sql语句中加入判断条件替换查询结果
假设有一张表 取名为a 有一列数据 sex,1是男 2是女那么就使用 select if(a.sex=1,'男','女') as sexName from a; 这条语句的意思就是 如果a.sex=1,那么 sexName =男 反之就是女如果单列数据 role有多值 例如 1=老师 2=学生 3=校长 4=班主任就使用select case when...原创 2019-04-25 10:32:49 · 2572 阅读 · 0 评论 -
关于Select下拉框中的"全部"选项,怎样通过默认选中"全部"查询所有数据
今天解决了一个问题,就是,当你在下拉框中通过选中"全部",来查询所有数据。怎么解决呢? 通常情况下,我们都是通过select下拉框中的一个值来查询某一条数据,比如<select> <option value ="1">Volvo</option> <option value ="2">Saab</opt原创 2019-03-15 11:50:13 · 7041 阅读 · 0 评论