Category Archives: DataBase

「mongodb入門」sort()とexplain()のサンプル

1.昇順ソート
db.membertbl.find({}).sort(
{reg_id: 1}
)

2.降順ソート
db.membertbl.find({}).sort(
{reg_id: -1}
)

3.explain()
db.employess.find({ “member.age”:32, “member.birthday” : /1982-01-12/ }).explain()
db.employees.find({cityname: “tokyo”}).explain()

4.limitとoffsetを指定する
db.employees.find().limit(3).skip(1)

「MongoDB入門」find()でデータを検索するサンプル

1.等価比較
db.employees.find(
{position: “SE”}
)
2.非等価比較
db.employees.find(
{position: { $ne: “PG” }}
)

3.複数検索条件を指定する
db.employees.find(
{position: “PG”, age: 22}
)

4.OR条件
db.employees.find(
{$or: [{position: “PG”} , {age: 30}]}
)

「SQL入門」サーバーのIPアドレスを取得する関数

SQLコード:
ALTER FUNCTION [dbo].[GetCurrentIP] ()
RETURNS varchar(255)
AS
BEGIN
DECLARE @IP_Address varchar(255);

SELECT @IP_Address = client_net_address
FROM sys.dm_exec_connections
WHERE Session_id = @@SPID;

Return @IP_Address;
END

「MongoDB入門」com.mongodb.DBObjectの使い方

1.DBObjectのインポート
import com.mongodb.DBObject;
import com.mongodb.util.JSON;

2.$match
DBObject match = (DBObject) JSON.parse(“{$match:{‘status’:’1′,’time’:
{$gte:'”+beginDay+”‘,$lte:'”+endDay+”‘}}}”);
(beginDay-開始日付;endDay-終了日付)

3.$group
DBObject group = (DBObject) JSON.parse(“{$group:{_id:’$userId’,
count:{$sum:1},total:{$sum:’$amount’},maxSigle:{$max:’$amount’}}}”);

検索操作
List<DBObject> list = new ArrayList<DBObject>();
list.add(match); list.add(group);
AggregationOutput Output = mongoTemplate.getCollection(“tblName”).aggregate(list);

4.List<DBObject>のサンプル
DBObject match = (DBObject) JSON.parse(“{$match:{‘status’:{$in:[‘0′,’1′]},
type:{$ne:11},’time’:{$gte:'”+beginDay+”‘,$lte:'”+endDay+”‘}}}”);

DBObject sort = (DBObject) JSON.parse(“{$sort:{‘count’:-1}}”);//ソート

List<DBObject> list = new ArrayList<DBObject>();
list.add(match);
list.add(group);
list.add(groupMatch);
list.add(project);
list.add(sort);
AggregationOutput catchOutPut = mongoTemplate.getCollection(“tblName”)
.aggregate(list);//検索結果

5.BasicDBObject()の操作
BasicDBObject groupIndex = new BasicDBObject();
BasicDBObject distinctQuery = new BasicDBObject();
distinctQuery.put(“userId”, new BasicDBObject(“$in”, userIds));//UserIds配列
BasicDBObject initIndex = new BasicDBObject();
initIndex.put(“count”, 0);//countの値をリセット

Javaコード
String reduce = “function(doc, prev) {if(doc.status==0){prev.count+= 1;};}”;
List<Map<String, Object>> basicDBList = (List<Map<String, Object>>) mongoTemplate.
getCollection(“Collection”).group(groupIndex, distinctQuery, initIndex, reduce, null);

「MongoDB入門」BasicDBObjectの使い方

1.Query.put()
date条件検索
BasicDBObject Query = new BasicDBObject();
Query.put(“time”,new BasicDBObject(“$gte”, date + ” 00:00:00″)
.append(“$lte”, date + ” 23:59:59″));

or条件検索
BasicDBList values = new BasicDBList();
values.add(new BasicDBObject(“status”, new BasicDBObject(“$exists”,false)));
values.add(new BasicDBObject(“status”, 0));
Query.put(“$or”, values);

2.match
DBObject Match = new BasicDBObject(“$match”, Query);

3.GroupBy.put()
BasicDBObject GroupBy = new BasicDBObject();
GroupBy.put(“userId”, “$userId”);
GroupBy.put(“status”, “$status”);

4.Select.put()
DBObject Select = new BasicDBObject(“_id”, GroupBy);
Select.put(“count”, new BasicDBObject(“$sum”, 1));

5.$group
DBObject Group = new BasicDBObject(“$group”, Select);
import com.mongodb.AggregationOutput;
import org.springframework.data.mongodb.core.MongoTemplate;
AggregationOutput Output = mongoTemplate.getCollection(“tablenameAA”)
.aggregate(Match, Group);
検索結果:
Iterable<DBObject> map = Output.results();
//map loop
for (DBObject dbObject : map) {
Map<String, Object> resultMap = (Map<String, Object>) dbObject.get(“_id”);
Integer userId = Integer.parseInt(CommUtil.toString(ausgMap.get(“userId”)).replace(“.0″,””));

//count計算
Integer count = Integer.parseInt(CommUtil.toString(dbObject.get(“count”)));

}

「SQL入門」SELECT INTO で新規テーブルを作成する方法

構文
SELECT <table1.カラム> <table2.カラム>
INTO <新規テーブル> FROM <コピー元テーブル1> <コピー元テーブル2>

SELECT
Employee.LastName
, Orders.OrderNo
INTO Employee_OrderNew_Tbl
FROM
Employee
INNER JOIN Orders
ON Employee.Id_PNO = Orders.Id_PNO

「Oracle入門」関数LISTAGG ()WITHIN GROUP()の使い方

1.会員情報登録ID を集計し、登録ID順で返す。
SELECT
LISTAGG(USERID, ‘, ‘) WITHIN GROUP (ORDER BY USERID) AS CAC_ID
FROM
MEMBER_TBL
WHERE
NO = 123456;

2.会員情報登録IDを集計し、登録日付順で返す。
SELECT
LISTAGG(USERID) WITHIN GROUP (ORDER BY CREATE_DATE) AS CAC_ID
FROM
MEMBER_TBL;

「Oracle入門」DENSE_RANK()関数を利用するSQLのサンプル

DENSE_RANKは同じ順位が複数あった場合でも、その後順位は飛ばされない。

SQL構文
SELECT
UT.ADDR
, DENSE_RANK() OVER (PARTITION BY UT.NO ORDER BY UT.LEVEL) AS USERID
FROM
USER_TBL UT

「Oracle入門」ロールの確認、作成、削除と権限のコマンドまとめ

1.ロール確認
SELECT * FROM DBA_ROLE_PRIVS;

ロール作成
CREATE ROLE cmsrole;

ロール削除
DROP ROLE cmsrole;

2.ロールをユーザに付与
GRANT cmsrole TO ssuser;

ロールをユーザから削除
REVOKE cmsrole FROM ssuser;

3.ロールから権限を削除
REVOKE create table FROM cmsrole;

ロールからオブジェクト権限を削除
REVOKE insert ON user_tbl FROM cmsrole;

ロールからオブジェクト権限をすべて削除
REVOKE all ON user_tbl FROM cmsrole;

「Oracle入门」 DBMS_RANDOM.RANDOM(STRING、VALUE)の使い方

1.乱数の取得
SELECT DBMS_RANDOM.RANDOM() AS RAND FROM DUAL;

RANDDIG
1510339687

2.(0.0~1.0)の乱数
SELECT DBMS_RANDOM.VALUE AS RANDVAL FROM DUAL;

RANDVAL
0.54222246419720795713470908705902261109

3.自然数の乱数
SELECT DBMS_RANDOM.NORMAL ANDNML FROM DUAL;

ANDNML
0.9091261603929238106428661337349463173353

4.ランダムの英小文字
SELECT DBMS_RANDOM.STRING(‘L’,8) AS ENVA FROM DUAL;

ENVA
gfrzxtea
ランダムの英大文字

SELECT DBMS_RANDOM.STRING(‘U’,8) AS ENVA FROM DUAL;

ENVA
MHAIGYDQ

8.(6,9)の浮動小数点の乱数
SELECT DBMS_RANDOM.VALUE(6,9) AS BETRAND FROM DUAL;

BETRAND
7.52199019866418662856371710185996781826

1 / 1312345...10...最後 »