例如数据格式为 yyyy-mm-dd查询不符合该格式的数据 :select * from table where not REGEXP_LIKE(字段名,'^((?:19|20)\d\d)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$')
有一个同事的
数据
迁移程序有个问题,没有考虑
中
文编码字符,由于迁移的表有几千万
数据
,但是有
中
文的记录集很少,问我能否找出有
中
文内容的记录数。首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL
中
调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。突然想到
Oracle
有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有
非
ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例:
select*
from(select'abcd'c1fro
<pre name="code" class="sql"><pre name="code" class="sql">create table test10 (set_date varchar2(10));
SQL> desc test10
名称 是否为空? 类型
---------------------------------------...
SELECT count(*) FROM TABLE
返回列数:
select count(name) from syscolumns where id=(select id from sysobjects where xtype='u' and name='game_ybqd'),其
中
'game_ybqd'是具体的表名。
转载于:https://www.cnblog...
oracle
身份证号检查函数函数调用:select fn_checkidcard(‘身份证号’) as result from dual;
如果返回1,表示身份证号合法;如果为0,表示
非
法;函数定义:CREATE OR REPLACE FUNCTION fn_checkidcard (p_idcard IN VARCHAR2) RETURN INT
v_regstr VAR
火龙果软件工程技术
中
心 表空间是
oracle
数据库
中
最大的逻辑单位与存储空间单位,
数据库
系统通过表空间为
数据库
对象分配空间。表空间在物理上体现为磁盘
数据
文件,每一个表空间由一个或多个
数据
文件组成,一个
数据
文件只可与一个表空间相联系,这是逻辑与物理的统一。了解表空间和
数据
文件的的属性及使用率,是
数据库
管理员的一项重要职责。下面以
oracle
9i为例,详细介绍
查询
Oracle
数据库
表空间信息和
数据
文件信息的方法。一、
查看
Oracle
数据库
中
表空间信息的方法1、
查看
Oracle
数据库
中
表空间信息的工具方法:使用
oracle
enterprisemanagerconsole工具,这是
oracle
的客户
一张person表,有id和name的两个
字段
,id是唯一的不允许重复,id相同则认为是重复的记录。
select id from group by id having count(*) > 1
按照id分组并计数,某个id号那一组的数量超过1条则认为重复。
如何
查询
重复的
数据
select
字段
1,
字段
2,count(*) from 表名 group by
字段
1,
字段
2 having count(*) > 1
PS:将上面的>号改为=号就可以
查询
出没有重复的
数据
了。
Oracle
删除重复
数据
的SQL(删除所有):
删除重复
数据
的基本结构写法:
想要删除这些
第一: select OP_TIME,decode ( ID,null,null,OP_TIME)
如果是上面的sql,则
查询
出来的
数据
时:15-8月-12 这样的格式的
日期
内容
第二:select OP_TIME ,decode ( ID,null,to_date(nu
白小白···:
Mysql将多条查询结果中的同一字段的数据,整合到一条结果中的一个字段中
cat_1018: