
数据库
wyljz
想着,做着,学着,活着
展开
-
postgre 时间操作备忘
select * from zx_file-- where create_time < now()- interval '2 d'where to_date(begin_time,'yyyy-mm-dd hh24:mi:ss') < to_date('2021-10-20 00:00:00', 'yyyy-mm-dd hh24:mi:ss') 上边sql中,取指定日期之前的记录,create_time类型是timestamp,可以直接比较,begin_time是varchar,需要转换后原创 2021-10-25 14:40:18 · 280 阅读 · 0 评论 -
postgresql 归组后获取第一条完整记录
sql:select * from (select row_number () over(partition by set_id order by last_end_time desc) rowId,* from zx_sync_log)t where rowId=1印象中好像 sqlserver 数据库也是这样干的原创 2021-09-14 17:05:49 · 352 阅读 · 0 评论 -
几个数据库获取所有表,视图,列
–mysql表与视图:select table_name tableName,table_comment description,table_type from information_schema.tables where table_schema = ‘stuaffairs’;列:select column_name from information_schema.columns where table_name = ‘v_dict’ and table_schema = ‘stuaffairs’原创 2021-08-26 15:10:58 · 224 阅读 · 0 评论 -
mysql数据库结构查询
获取数据库名:<select id="getDataBaseName" resultType="java.lang.String"> select database() </select>获取表: <select id="getTables" resultType="java.util.HashMap"> select table_name tableName, table_commen原创 2021-02-01 10:41:10 · 600 阅读 · 0 评论 -
sqlserver/mysql 替换部分位置的字符串
记录测试演示数据库关键数据修改替换关键字SELECT STUFF(idcard, LEN(idcard) -3, 4,'XXXX') from stinfo update stinfo set idcard = STUFF(idcard, LEN(idcard) -3, 4,'XXXX') update stinfo set hostelphone=STUFF(hostelphone, L...原创 2019-11-05 11:22:09 · 4836 阅读 · 2 评论 -
sql server 归组统计后取整条记录
需按学号等字段归组统计出成绩值,取最大的那个整条记录,用group by 无法实现实现: select * from( select ROW_NUMBER() over(partition by stid,type,level,levelmx order by score desc) row,* from cet346score )t where row<=1 and stid='...原创 2019-10-21 11:39:06 · 239 阅读 · 0 评论 -
sqlserver delete 删除两个表的差集
merge t_kp t using (select id from t_kp except select kid from T_KPItem)s on t.id=s.id when matched then delete;merge , except 是sql 2008 版本以上才有的except 是找出两个表的差集这样的操作用于清理表中的孤立数据,t_kp是主表,t_kpitem是子表 关联是原创 2017-12-21 09:33:12 · 2091 阅读 · 0 评论 -
sqlserver 归组排序取值
表t_history中字段:dbid,filepath,baktype,createtime 要从这个表中取出dbid相同,以baktype作为查询条件,按createtime排序的第一条数据 表记录如图: 使用了rownumber来排序的sql查询:select * from(select ROW_NUMBER() over(partition by dbid order b...原创 2018-06-08 09:56:17 · 871 阅读 · 0 评论 -
oracle 递归查询整个路径并行转列组合成字符串
递归查询路径:select * from t_db_organize connect by prior fartherid=id start with id='139312' order by id asc行转列:select replace(wm_concat(to_char(name)),',',' &gt; ') name from(select * from t_db_...原创 2018-06-28 10:15:37 · 2626 阅读 · 0 评论 -
oracle 分组排序取出最大和最小的记录
表中字段:phonenumber,score,examtime 要取出时间段中phonenumber的score最大并且examtime最小的记录,用max和min取的值都不是正确的记录值,用排序子查询的方法可以取到select phonenumber,score,examtime,scoretime,createtime,rn from (SELECT phonenumber,score...原创 2018-07-24 11:41:16 · 7632 阅读 · 0 评论 -
oracle 查看负载和并发连接
查看负载:SELECT * FROM ( SELECT A.INSTANCE_NUMBER, A.SNAP_ID, B.BEGIN_INTERVAL_TIME + 0 BEGIN_TIME, B.END_INTERVAL_TIME + 0 END_TIME, R...转载 2018-07-13 15:39:43 · 6776 阅读 · 0 评论 -
oracle 分页性能
用户表T_DB_USERS,记录数60万分页语句一:select t.*,rawtohex(SYS_GUID()) mmm_guid from ( select a.*,rownum rn from T_DB_USERS a) t where rn>10 and rn<=30;执行时间 0.281 秒分页语句二:select t.*,rawtohex(SYS...原创 2018-07-20 11:28:36 · 477 阅读 · 0 评论 -
oracle 找出主键被哪些表的字段作为外键来使用
表t_sjzxj_dbitem中的字段id,被其他表作为外键,现有个需求在删除t_sjzx_dbitem中的记录时,将其关联的记录一并删除,先用sql找出id被哪些表的哪个字段做了外键关联,然后再将关联的记录一起删除。select c.TABLE_NAME tablename,c.constraint_name foreignname,u.column_name columnnamefrom...原创 2018-08-10 10:59:08 · 3271 阅读 · 0 评论 -
oracle 用触发器记录操作
create or replace trigger tri_dbset AFTER INSERT OR UPDATE OR DELETEon t_sjzx_dbset for each rowbegin IF INSERTING THEN insert into t_tri_dbset(id,name,remark,tablename,classid,actfield) val...原创 2018-08-02 16:22:01 · 3731 阅读 · 1 评论 -
sqlserver 用触发器记录操作
create trigger tri_code on t_jc_code after insert,delete,updateasbegin declare @id nvarchar(50) declare @typeid nvarchar(50) declare @name nvarchar(50) declare @code nvarchar(50) ...原创 2018-08-02 17:02:08 · 3163 阅读 · 0 评论 -
mysql 用触发器记录操作
mysql 不能在一个触发器中进行insert,update,delete操作,需分别建三个触发器insert触发器:delimiter $$create trigger tri_city_insertafter insert on t_xfw_city for each rowbegin insert into t_tri_city(id,name,province...原创 2018-08-02 17:24:24 · 2686 阅读 · 0 评论 -
oralce 表被锁导致ExecuteNonQuery执行无响应,也不报错
在做一个导入操作时,发现每次执行到一行记录时就出现ExecuteNonQuery执行无响应,也不报错,卡住不动了,最后发现是数据表这行数据被锁了,出现:enq: TX - row lock contention ,有可能是其他系统在操作这个记录时锁住了,导致要更新这行记录时就没了响应,最后把锁住数据表的进程杀掉才继续向下执行了1、找到锁表的SIDSELECT a.sid, b.owner, ...原创 2018-08-08 17:18:18 · 1028 阅读 · 0 评论 -
oracle 新建用户,表空间、分配权限及导入
表空间:create tablespace renshi datafile '/data/renshi/db.dbf' size 100M autoextend on next 5M/data/renshi 必须存在并有写入权限 ,centeros 下,使用chown oracle /data/renshi将该目录分配到oracle用户中。用户名:create user DCAMPUS identi原创 2017-07-31 14:36:24 · 344 阅读 · 0 评论 -
centeros7 最小安装,沉默安装oracle
参考:http://www.cnblogs.com/zheng-hong-bo/p/6439397.html1:安装好centos 7 操作系统;虚拟机安装centos 7,在vmware中一步步来就可以成功。2:安装vim最小化安装的系统只有vi编辑器,这里装一下vim,个人习惯,可以不安装, 那么后续的vim命令请自行换成vi。[root@localhost ~]# yum install vi转载 2017-07-07 16:26:15 · 1951 阅读 · 0 评论 -
案例学习:如何让你的SQL运行得更快
案例学习:如何让你的SQL运行得更快作者: , 出处:博客, 责任编辑: jinpu, 2006-11-24 08:00 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的转载 2008-04-07 15:16:00 · 606 阅读 · 0 评论 -
SQL游标示例
declare @userid char(6)declare @username varchar(20)declare @email varchar(200)declare testcur cursor forselect userid,username,email from tbusercommonopen testcurfetch next from test原创 2008-10-06 17:01:00 · 1500 阅读 · 1 评论 -
给数据库传递组合字符串参数,类似数组的解决方法
在实际项目中,常会有这样的操作,给定一个表格,然后每一条记录有一个选择框,然后就根据选择的记录进行相应的操作,这种情形下,无法预计选择多少个,如果使用组合字串传给SQL,极有可能因长度不够而不能全部操作选定的记录。 我的解决办法:因为我通常习惯使用ID来做为记录标识,就建立一个临时的表TBTEMID,然后在程序里将选择的记录ID依次加入这个表中,再使用游标遍历这个表执行相应原创 2009-03-24 23:32:00 · 978 阅读 · 0 评论 -
执行动态生成的SQL语句的方法
DECLARE @IDS VARCHAR(20)SELECT @IDS=1,2,31971DECLARE @SQL NVARCHAR(2000)DECLARE @ISOVER BITDECLARE @ISEXECUTE BITDECLARE @SN VARCHAR(20)SELECT @SQL=SELECT @SN=SN FROM tbClinicBill WHERE ID IN(原创 2009-04-03 20:09:00 · 697 阅读 · 0 评论 -
动态游标
DECLARE @WHERE VARCHAR(500)SELECT @WHERE=( ClinicAndNurse=1 Or ClinicAndNurse=2 )DECLARE @SQL NVARCHAR(2000)SELECT @SQL=NDECLARE ABC CURSOR FOR SELECT @SQL=@SQL+NSELECT ID,CHARGETYPE,PAYTYP原创 2009-04-06 11:51:00 · 739 阅读 · 0 评论 -
多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
DECLARE @PAGESIZE INTDECLARE @PAGEINDEX INTDECLARE @PAGECOUNT INTDECLARE @RECORDCOUNT INTSELECT @PAGESIZE=5SELECT @PAGEINDEX=1DECLARE @FIELDNAME VARCHAR(50)DECLARE @FIELDVALUE VARC原创 2009-06-13 09:17:00 · 1177 阅读 · 0 评论 -
使用case指定查询结果的字段
select runningid,runningname,payin=(case paytype when in then paytotal else 0 end),payout=(case paytype when out then paytotal else 0 end) from(select paytype,sum(pay) as paytotal,runningid,runnin原创 2009-12-23 09:21:00 · 750 阅读 · 0 评论 -
sql case select
SELECT ID,TITLE,(SELECT TIMES FROM CLS_COURSE WHERE CLS_COURSE.ID=CLS_CLASS.COURSEID) AS TIMES,(SELECT CASE WHEN EXISTS(SELECT * FROM CLS_ATDC WHERE CLS_ATDC.CLSID=CLS_CLASS.ID ) THEN (SELECT TOP 1 C原创 2010-03-17 15:05:00 · 643 阅读 · 0 评论 -
传入xml,在树表中递归,再归组加入其他表
declare @uid intset @uid=1declare @doc xmlset @doc=N''--找出指定类的所以子类,加入表中declare @p intexec sp_xml_preparedocument @p OUTPUT,@doc delete from t_dor_operatorStruct where uid=@uid;with tm原创 2015-03-27 11:06:13 · 552 阅读 · 0 评论 -
oracle查询递归表节点
转载自:http://lizhen3708693.iteye.com/blog/1631184–查询全部资源信息 select * from urm_class_info –向上遍历树,找到路径直到根节点,指定的是parentid select distinct classid,parentid,name from urm_class_info start with parent转载 2017-03-28 10:59:05 · 762 阅读 · 0 评论 -
dapper 多对多查询对象和对象列表
角色:class Group{ public string ID{get;set;} public string Name{get;set;} public List<Rights> RightsList{get;set;}}权限:class Rights{ public string ID{get;set;} public string Name{ge原创 2017-03-31 16:33:52 · 12611 阅读 · 0 评论 -
oracle case when的使用和将列连接成字符串
select a.*,b.name as appname,(case a.dbsrctype when 1 then (select serverIp||':'||port||','||username||'/'||password||'@'||dbname from t_database d where d.id=a.id) else (select url from t_webserv原创 2017-04-05 16:10:26 · 4416 阅读 · 0 评论 -
centeros 自动启动oracle
1、修改环境变量: root 用户下运行:vi /etc/profile 将下边的行加到最后export ORACLE_BASE=/data/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0export ORACLE_SID=orclexport PATH=$ORACLE_HOME/bin:/usr/sbin:$PATHexport原创 2017-07-12 11:42:00 · 595 阅读 · 0 评论 -
oracle 监听与连接配置
服务器监听配置文件路径:/data/oracle/product/11.2.0/network/admin/listener.ora内容:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL原创 2017-07-12 11:52:44 · 434 阅读 · 0 评论 -
英文SQL2000中使用中文数据库的一个相关问题
测试服务器环境win2003中文版+SQL2000中文版运行服务器环境winnt英文版+SQL2000英文版在测试服务器上测试一切正常,移至运行服务器后出现以下问题:1、添加中文字段出乱码2、按关键字查询所得结果与测试服务器中不同第一个问题是将所有varchar字段改成了nvarchar字段后正常运行。第二个问题是将数据库的排序规则改成了chinese_rpc_ci_as后原创 2006-04-06 10:40:00 · 1705 阅读 · 1 评论