![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
玉珂鸣响
这个作者很懒,什么都没留下…
展开
-
SQL对date类型的操作
对date类型进行更新操作:update table_date set time=to_date('2021-06-08 08:07:07','YYYY-MM-DD HH24:MI:SS') where id='1' 查询的日期需要字符串的形式存在:select to_char(time,'YYYY-MM-DD HH24:MI:SS') time from table_date...原创 2021-06-08 16:44:28 · 1304 阅读 · 0 评论 -
System.Data.OracleClient.OracleException:“OCI-22053: 溢出错误
在数据库中查询语句执行成功,但是到了代码运行时就查不出数据,后调试发现出现异常,通过介绍明白是数据库中查询结果数值中存在大量小数造成的。 在代码中是从数据库中获取数据赋值到实体中出现的错误,这说明执行查询是没有问题,所以一个方法是在SQL中限制数值的位数,还有一个是代码使用补丁,不过比较方便的还是SQL中添加限制,直接使用 round(xxx, 保留的位数) 即可,例如:select round(num1/num2, 2) from table_num ,该SQL是保留两位小数,经过处理成功执行。原创 2021-05-14 09:14:55 · 610 阅读 · 0 评论 -
SQL中获取几列中的最大值
场景如图所示(要获取其中的最大值):原创 2021-04-30 16:57:19 · 5816 阅读 · 0 评论 -
c#出现System.Data.OracleClient.OracleException:“ORA-00911: 无效字符
在编写事务控制时发现无法调试到运行SQL语句那一步,并且报出System.Data.OracleClient.OracleException:“ORA-00911: 无效字符 的错误,通过提示可以判断是编写的程序中有不符合的字符出现,这是对数据库的操作,所以首先查看SQL语句能否在数据库中执行,通过测试是可以执行的,而其他调试内容中编写事务的开始、提交、回滚是没有问题的,经过查找最终在SQL中发现末尾多了个 ; 在数据库中执行是没有问题,但是这c#运行时还是不行,删了就好了。...原创 2021-04-30 14:53:50 · 1216 阅读 · 1 评论 -
模糊查询(like、instr)
SQL中经常会遇到模糊查询,现在模糊查询正常、最常用的有两种,一种是like、另一种是instr,这两种单单是简单的搜索,instr的效率是比like要高的(这也得看%在哪儿了)。likelike中分右模糊、左模糊,右模糊比如’abc%‘时,扫描索引,高效。当模糊查询含左模糊时,比如’%abc’,进行全表扫描,低效。当然更别提’%abc%'了。instrinstr(字段名, string),instr的使用也很简单,就是填写一下字段名,然后与后面需要查找的内容相关。这个比like的左模糊效率原创 2020-11-12 10:42:00 · 7668 阅读 · 0 评论 -
case函数详解
case函数通常也被称为:流程控制函数主要有两种形式简单case函数通常用于情况不多且可枚举出来的情况通常形式如下:CASE <col_name> WHEN <value1> THEN <result1> WHEN <value2> THEN <result2> ... ELSE <result>END 例如:CASE sex WHEN '0' THEN '男' WHEN原创 2020-11-12 10:37:20 · 12828 阅读 · 1 评论 -
SQL中nvl函数
nvl(表达式A, 表达式B)如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式A和表达式B的数据类型必须为同一个类型。例:nvl(clue_num,0):如果clue_num为空,则返回0;否则返回clue_num的值nvl2(表达式A,表达式B,表达式C)如果表达式A为空,则返回表达式C的值;如果表达式A不为空,则返回表达式B的值。例:nvl2(sex,0.原创 2020-11-12 10:34:19 · 563 阅读 · 0 评论 -
去除字符(例如常见的空格)
这里提供了三种不同的去字符的ltrim()用法一: ltrim(string),直接在其中输入字符串,默认去除左边的空格用法二: ltrim(string1, string2),string1表示原字符串,string2表示要去除的内容,例如以下select ltrim('111222333', '1')--222333rtrim()用法一: rtrim(string),直接输入字符串,默认去除右边的空格用法二: rtrim(string1, string2),string1表示原原创 2020-11-12 10:29:55 · 289 阅读 · 0 评论 -
SQL函数lpad()以及rpad()的用法
用处: 用来填充某个字段的查询结果的。函数参数:lpad(string1, padded_length, [pad_string])和rpad(string1, padded_length, [pad_string])参数意义: string1表示源字符串,padding_length表示最后字符串的长度,[pad_string]表示填充的内容例如:select lpad('123456',2) from dual--结果为 12select lpad('123456',7,'0') from原创 2020-11-12 10:26:45 · 2740 阅读 · 0 评论 -
数据库获取最大值
1、使用Oracle中自带的方法Oracle中自带了一个greatest()方法,通过这个方法可以快速解决获取最大值的问题。例如:SELECT key ,GREATEST(GREATEST(x,y),z) AS greatestFROM greatests;2. 使用case来判断获取(基本通用)SELECT key ,CASE WHEN (case WHEN x < y THEN y ELSE x END) < z TH原创 2020-11-10 08:26:43 · 3717 阅读 · 0 评论 -
SQL中拼接“||“的作用
SQL中拼接"||"的作用在查询结果中使用拼接,例如:SELECT f.id ,f.customer_id ,c.id ,c.CUSTOMER_CODE||'-'||f.food_no dFROM food fINNER JOIN customer_info cON f.customer_id = c.id这里把两个表中的两个列给拼接起来使用,并且中间使用’-'来连接**结果:**010-2154512在查询条件中使用拼接,例如SELE原创 2020-11-10 08:22:48 · 1609 阅读 · 0 评论