約 2,257,981 件
https://w.atwiki.jp/my-sql/pages/25.html
HOME 関数 各データ型共通の演算子 比較演算子 比較演算子 = 等しい mysql [[SELECT]] 1 = 0; - 0 mysql SELECT '0' = 0; - 1 mysql SELECT '0.0' = 0; - 1 mysql SELECT '0.01' = 0; - 0 mysql SELECT '.01' = 0.01; - 1 , != 等しくない mysql SELECT '.01' '0.01'; - 1 mysql SELECT .01 '0.01'; - 0 mysql SELECT 'zapp' 'zappp'; - 1 = より小さいか等しい mysql SELECT 0.1 = 2; - 1 より小さい mysql SELECT 2 2; - 0 = より大きいか等しい mysql SELECT 2 = 2; - 1 より大きい mysql SELECT 2 2; - 0 = 等しい(NULL 対応) mysql SELECT 1 = 1, NULL = NULL, 1 = NULL; - 1 1 0 IS NULL , IS NOT NULL 値が NULL であるかないかのテスト mysql SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; - 0 0 1 mysql SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL; - 1 1 0 他のプログラムに対して適切に動作するように、MySQL では、IS NULL の使用時において次の追加機能をサポートしている。 直前に挿入されたレコードの検索 SELECT * FROM tbl_name WHERE auto_col IS NULL これを無効化するには、SQL_AUTO_IS_NULL=0 を設定する。 NOT NULL DATE 型と DATETIME 型のカラムでの、特殊な日付 0000-00-00 の検索 SELECT * FROM tbl_name WHERE date_column IS NULL これは、一部の ODBC アプリケーションで必要になる(ODBC では 0000-00-00 日付をサポートしていないため)。 expr BETWEEN min AND max expr が min 以上で、max 以下の場合は 1 を返す。それ以外の場合は、0 を返す。すべての引数が同じ型の場合、これは式 (min = expr AND expr = max) と同じ。引数の型が異なる場合、前述の規則にもとづいて型変換が実行される。この場合、型変換は 3 つすべての引数に適用される。注意 4.0.5 より前のバージョンでは、引数は expr の型に変換されていた。 mysql SELECT 1 BETWEEN 2 AND 3; - 0 mysql SELECT 'b' BETWEEN 'a' AND 'c'; - 1 mysql SELECT 2 BETWEEN 2 AND '3'; - 1 mysql SELECT 2 BETWEEN 2 AND 'x-3'; - 0 expr IN (value,...) expr が IN リストのいずれかの値のときは 1 を返す。それ以外の場合は 0 を返す。すべての値が定数なら、値はすべて expr の型に基づいて評価され、ソートされる。その後、バイナリ検索によってアイテムが検索される。したがって、IN の値リストが定数だけで構成されている場合、IN は非常に迅速に行われる。expr がケース依存の文字列式の場合、文字列の比較はケース依存方式で行われる。 mysql SELECT 2 IN (0,3,5,'wefwf'); - 0 mysql SELECT 'wefwf' IN (0,3,5,'wefwf'); - 1 IN リストの値の数は、max_allowed_packet 値のみによって制限される。 4.1 以降(SQL-99 標準に準拠するため)、IN では、左側の式が NULL の場合だけでなく、リストに一致するものが見つからず、リスト内の式の 1 つが NULL の場合にも NULL が返る。 MySQL バージョン 4.1 以降では、IN() 節にサブクエリを組み込むこともできる。 ISNULL(expr) expr が NULL の場合は 1 を返す。それ以外の場合は 0 を返す。 mysql SELECT ISNULL(1+1); - 0 mysql SELECT ISNULL(1/0); - 1 注意 = を使用した NULL 値の比較は常に false になる。 COALESCE(list) リスト内の最初の非 NULL 要素を返す。 mysql SELECT COALESCE(NULL,1); - 1 mysql SELECT COALESCE(NULL,NULL,NULL); - NULL INTERVAL(N,N1,N2,N3,...) N N1 の場合は 0、N N2 の場合は 1(以下同様)というように値を返す。N が NULL の場合は -1 を返す。引数はすべて整数として扱われる。この関数で N1 N2 N3 ... Nn を正しく動作させるには、引数を整数として扱う必要がある。これはバイナリ検索(非常に迅速)が使用されるからである。 mysql SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); - 3 mysql SELECT INTERVAL(10, 1, 10, 100, 1000); - 2 mysql SELECT INTERVAL(22, 23, 30, 44, 200); - 0 _uacct = UA-4617913-1 ; urchinTracker();
https://w.atwiki.jp/sqlpuzzle/pages/39.html
問題 fooの数量、barの数量を計算書番号ごとに出す accounts foo bar 答え acct_nbr acct_nbr | bar_qty acct_nbr | bar_qty |foo_qty|bar_qty ----------- --------+-------- ---------+--------- -------------------- 1 2 | 160 2 | 160 → 1| 10 | 0 2 3 | 320 3 | 320 2| 60 | 160 3 3 | 640 3 | 640 3| 80 | 961 4 3 | 1 3 | 1 4| 0 | 0 サンプルコード↓これ以外を考えよう♪ select a.acct_nbr, coalesce(f.foo_qty,0) as foo_qty_tot, coalesce(b.bar_qty,0) as bar_qty_tot from accounts as a left outer join (select acct_nbr,sum(foo_qty) as foo_qty from foo group by acct_nbr) as f on f.acct_nbr = a.acct_nbr left outer join (select acct_nbr,sum(bar_qty) as bar_qty from bar group by acct_nbr) as b on f.acct_nbr = b.acct_nbr; COALESCE(式1,式2,式3,...)式1がNULL以外→終了、式1がNULL→式2実行。 式2がNULL→式3実行、引数で指定された式がNULL以外の値を返すまで続く 全ての式がNULL→NULLをCOALESCEの結果として返す yukaさんの回答 fumikoの回答 考え accountsのacct_nbrごとにfooからacct_nbrが同じときだけfoo_qtyを足していく barからacct_nbrが同じときだけbar_qtyを足していく SQL select ac.acct_nbr, sum(distinct case when ac.acct_nbr = foo.acct_nbr then foo_qty else 0 end), sum(distinct case when ac.acct_nbr = bar.acct_nbr then bar_qty else 0 end) from accounts as ac,foo,bar group by ac.acct_nbr 結果 acct_nbr | sum | sum ----------+-----+----- 1 | 10 | 0 2 | 60 | 160 3 | 80 | 961 4 | 0 | 0
https://w.atwiki.jp/sqlpuzzle/pages/33.html
問題 請求データを記録しているテーブルFriendsOfPepperoni (会員識別番号cust_id、発行日bill_date、金額pizza_amt)について 0~30日前、31~60日前、61~90日前、90日以上前の 4つの期間における各会員の合計請求額を求める サンプルデータ cust_id | bill_date | pizza_amt ---------+------------+----------- 1 | 2008-05-07 | 10.00 1 | 2008-04-01 | 20.00 1 | 2008-03-01 | 30.00 1 | 2008-01-01 | 40.00 2 | 2008-05-06 | 10.00 2 | 2008-04-01 | 20.00 2 | 2008-03-01 | 30.00 2 | 2008-01-01 | 40.00 結果 cust_id | age1 | age2 | age3 | age4 ---------+-------+-------+-------+------- 1 | 10.00 | 20.00 | 30.00 | 40.00 2 | 10.00 | 20.00 | 30.00 | 40.00 yukaさんの回答 考え① 1、ある日にちからピザを購入した日にちまでの期間を 求めたビューを作成。 2、ビューを用いて、それぞれの期間ごとのpizza_amtの合計 を求める。 ビュー create view Date(cust_id,pizza_amt,ago) as select cust_id,pizza_amt,datediff( 2007-06-22 , bill_date) as ago from FriendsofPepperoni; SQL文 select cust_id, sum(case when ago between 0 and 30 then pizza_amt else 0.00 end) as 1ago, sum(case when ago between 31 and 60 then pizza_amt else 0.00 end) as 2ago, sum(case when ago between 61 and 90 then pizza_amt else 0.00 end) as 3ago, sum(case when ago 90 then pizza_amt else 0.00 end) as 4ago from Date group by cust_id; 考え② ①のようなビューは作らず、case式で、bill_dateが 何日前に分類されるかを判別し、それぞれのpizza_amtの合計を求める。 SQL文 select cust_id, sum(case when bill_date BETWEEN 2007-06-22 -interval 30 day AND 2007-06-22 then pizza_amt else 0.00 end) as 1ago, sum(case when bill_date BETWEEN 2007-06-22 -interval 60 day AND 2007-06-22 -interval 31 day then pizza_amt else 0.00 end) as 2ago, sum(case when bill_date BETWEEN 2007-06-22 -interval 90 day AND 2007-06-22 -interval 61 day then pizza_amt else 0.00 end) as 3ago, sum(case when bill_date 2007-06-22 -interval 91 day then pizza_amt else 0.00 end) as 4ago from FriendsofPepperoni group by cust_id; 結果(①も②も結果は同じ) +---------+------+-------+-------+-------+ | cust_id | 1ago | 2ago | 3ago | 4ago | +---------+------+-------+-------+-------+ | 1 | 0.00 | 10.00 | 20.00 | 70.00 | | 2 | 0.00 | 10.00 | 20.00 | 70.00 | +---------+------+-------+-------+-------+ fumikoの回答 方針 ①それぞれの期間について集計する ②①をcust_idで結合する SQL文 select f1.cust_id,pa1,pa2,pa3,pa4 from (select cust_id,sum(pizza_amt)as pa1 from friendsofpepperoni group by cust_id,bill_date having 0 =(current_date - bill_date) and (current_date - bill_date) = 30) as f1, (select cust_id,sum(pizza_amt)as pa2 from friendsofpepperoni group by cust_id,bill_date having 31 =(current_date - bill_date) and (current_date - bill_date) = 60) as f2, (select cust_id,sum(pizza_amt)as pa3 from friendsofpepperoni group by cust_id,bill_date having 61 =(current_date - bill_date) and (current_date - bill_date) = 90) as f3, (select cust_id,sum(pizza_amt)as pa4 from friendsofpepperoni group by cust_id,bill_date having 91 =(current_date - bill_date) ) as f4 where f1.cust_id = f2.cust_id and f2.cust_id = f3.cust_id and f3.cust_id = f4.cust_id 結果 cust_id | pa1 | pa2 | pa3 | pa4 --------+-------+-------+-------+------- 1 | 10.00 | 20.00 | 30.00 | 40.00 2 | 10.00 | 20.00 | 30.00 | 40.00
https://w.atwiki.jp/note4recurrent/pages/36.html
1-1 VM_生徒基本情報を全列名検索してください。 select * from dbo.VM_生徒基本情報; 1-2 VM_生徒塾種情報を全列名検索してください。 select * from dbo.VM_生徒塾種情報; 1-3 VM_生徒受講情報を全列名検索してください。 select * from dbo.VM_生徒受講情報; 1-4 VM_組織マスタを全列名検索してください。 select * from dbo.VM_組織マスタ; 1-5 VM_クラスマスタを全列名検索してください。 select * from dbo.VM_クラスマスタ; 1-6 VM_生徒基本情報から、生徒コード「301~320」の 生徒を、全列名を検索してください。 select * from dbo.VM_生徒基本情報 where 生徒コード between 301 and 320; 1-7 VM_生徒塾種情報から、退塾の生徒を全列名検索してください。 *状態区分は1 塾生(塾に入塾した生徒) 2 塾外生(入塾していない生徒 ※テストのみを受ける見込み客等) 3 プール生(次年度入塾予定の生徒) 4 退塾(入塾後、塾を辞めた生徒) 5 休塾(入塾後、様々な事情で一定期間塾をお休みする生徒) 6 既卒(入塾し、卒塾(浜学園は小1~小6まで)した生徒) です。 select * from dbo.VM_生徒塾種情報 where 状態区分 = 4; 8 M_生徒受講情報から、受講年度が 2014年 かつ、 講座コードが 5100 かつ、 教室コードが 201 かつ 現在受講中 の生徒を全列名検索してください。 「現在受講中」とは、開始日列がNULL以外、終了日列がNULLの状態を指します。 select * from dbo.VM_生徒受講情報 where 受講年度 = 2014 and 講座コード = 5100 and 教室コード = 201 and 開始日 is not null and 終了日 is null; 1-9 VM_組織マスタの塾種区分が1 かつ、組織タイプが3かつ、 組織KEY「850」「701」以外 の 列名: 組織KEY → 教室コード、 組織名略称1 → 教室名、 組織名略称3を検索してください。 select 組織KEY as 教室コード,組織名略称1 as 教室名,組織名略称3 from dbo.VM_組織マスタ where塾種区分 = 1 and 組織タイプ = 3 and 組織KEY not in (850,701); 1-10 VM_クラスマスタの 教室コードが101 かつ、学年コードが6の 列名:クラスコード → クラス、 クラス名称帳票用 → クラス名称、 大クラスコード、 クラスコード を検索してください select クラスコード as クラス,クラス名称帳票用 as クラス名称, 大クラスコード,クラスコード from dbo.VM_クラスマスタ where 教室コード = 101 and 学年コード = 6; 2-1 VM_生徒基本情報より、飛び級生の生徒を抽出してください。 ※飛び級生は 生徒帳票用氏名に「*」が付いています。ヒント:LIKE句 select * from dbo.VM_生徒基本情報 where生徒帳票用氏名 like %*% ; 2-2 2-1で抽出した生徒を、「女子」、次に「男子」の順に並べ替えて、さらに、 生徒氏名カナ_半角の昇順で表示してください。 ※性別 1:男 2:女 select * from dbo.VM_生徒基本情報 where生徒帳票用氏名 like %*% order by 性別 desc, 生徒氏名カナ_半角; 2-3 VM_生徒塾種情報より、塾外生、退塾、既卒以外の生徒を抽出してください。 [列名] 状態区分 :生徒の状態 (区分のコードは「001_1_課題1.doc」の1-7参照) 塾生コード :塾生コード 所属教室コード :教室コード ※塾種区分は’1’で指定してください。 select 状態区分 as 生徒の状態,塾生コード as 塾生コード , 所属教室コード as 教室コード from dbo.VM_生徒塾種情報 where 状態区分 not in (2,4,6) and 塾種区分 = 1 ; 2-4 2-3で抽出した生徒を、所属教室コードの昇順、状態区分の降順に並べ替えてください。 [列名] 教室コード 生徒の状態 塾生コード select 所属教室コード as 教室コード,状態区分 as 生徒の状態,塾生コード as 塾生コード from dbo.VM_生徒塾種情報 where 状態区分 not in (2,4,6) and 塾種区分 = 1 order by 所属教室コード,状態区分 desc; 2-5 2-4で抽出した生徒を、所属教室単位の状態区分単位に集約してください。 select 所属教室コード as 教室コード,状態区分 as 生徒の状態,塾生コード as 塾生コード from dbo.VM_生徒塾種情報 where 状態区分 not in (2,4,6) and 塾種区分 = 1 group by 所属教室コード,状態区分,塾生コード order by 所属教室コード,状態区分 desc; 2-6 VM_生徒基本情報を検索。生年月日 2001年4月2日以降、 かつ、飛び級生(生徒帳票用氏名に「*」が入っている生徒)の生徒を 性別降順、生徒コードの昇順の並びで、 [列名] ‘飛び級生’ AS 塾種名称 生徒帳票用氏名 生年月日 生徒コード select 飛び級生 AS 塾種名称,生徒帳票用氏名,生年月日,生徒コード from dbo.VM_生徒基本情報 where生徒帳票用氏名 like %*% and 生年月日 = 2001-04-02 order by 性別 desc, 生徒コード; 2-7 VT_テスト生徒得点情報を検索。第467回公開学力テストを受験者した5年生の中から、 教室コード降順、得点降順で全列名検索してください。 [条件] 情報種別区分=1(イベントテスト) PKEY=262(467回公開学力テスト) ※Pkyeが何かを調べる場合は、VT_テスト情報HDで検索。 科目コード=2(算数) 単元コード=2(算数) 学年コード = 5 select * from dbo.VT_テスト生徒得点情報 as a where情報種別区分=1 and PKEY=262 and 科目コード=2 and 単元コード=2 and 学年コード = 5 order by教室コード desc , 得点 desc; 2-8 VT_テスト生徒成績集計情報を検索。第467・468・469・470回公開学力テスト受験者、 かつ、5年生、受験教室は西大寺(=401)、回数の昇順、で全列名検索してください。 ※教室のコードを調べる場合は、VM_組織マスタで塾種区分=1、組織タイプ=3で参照。 [条件] 情報種別区分=1 PKEY=※VT_テスト情報HDより、情報種別区分=1、 回数=(該当回数)で検索してください。 テスト集計区分=1 科計区分=3 型NO=2 学年コード = 5 受験教室コード= 401 select * from dbo.VT_テスト生徒成績集計情報 as a where情報種別区分 = 1 and テスト集計区分 = 1 and 科計区分 = 3 and 型NO = 2 and 学年コード = 5 and 受験教室コード = 401 and a.Pkey in (select Pkey from dbo.VT_テスト情報HD as k where 回数 in (467,468,469,470)); 2-9 2-8の抽出結果を使用し、教室コードが西大寺教室(401)の生徒を、 回数単位、大クラスコード単位に集約し、回数の昇順、大クラスコードの昇順で並び替え、 [列名] 集約教室 値=‘西大寺教室’ 回数 大クラスコード :L_CLASS COUNT(*)AS集計 を抽出してください select 西大寺教室 as 集約教室, 回数, 大クラスコード as L_CLASS ,count(*) as 集計 from dbo.VT_テスト生徒成績集計情報 where情報種別区分 = 1 and テスト集計区分 = 1 and 科計区分 = 3 and 型NO = 2 and 学年コード = 5 and 受験教室コード = 401 and Pkey in (select Pkey from dbo.VT_テスト情報HD where 回数 in (467,468,469,470)) group by 回数,大クラスコード order by 回数,大クラスコード 3-1 「VM_生徒塾種情報」テーブル使用 現在【塾生、塾外生、プール生、退塾、休塾、既卒】それぞれの生徒の人数を検索して下さい。 [列名] 状態区分、人数 の2つです。※状態区分については、課題1の7を参照。 VM_生徒塾種情報から、退塾の生徒を全列名検索してください。 *状態区分は1 塾生(塾に入塾した生徒) 2 塾外生(入塾していない生徒 ※テストのみを受ける見込み客等) 3 プール生(次年度入塾予定の生徒) 4 退塾(入塾後、塾を辞めた生徒) 5 休塾(入塾後、様々な事情で一定期間塾をお休みする生徒) 6 既卒(入塾し、卒塾(浜学園は小1~小6まで)した生徒) です。 select 状態区分,count(*) as 人数 from dbo.VM_生徒塾種情報 where 状態区分 0 group by 状態区分; 3-2 3-1で抽出したデータをさらに分かりやすくする為に、 状態区分 1 なら 塾生 というように、「状態名称」の[列名]を追加して下さい。 select 状態区分, case when 状態区分 = 1 then 塾生 when 状態区分 = 2 then 塾外生 when 状態区分 = 3 then プール生 when 状態区分 = 4 then 退塾 when 状態区分 = 5 then 休塾 when 状態区分 = 6 then 既卒 end as 状態区分名, count(*) as 件数 from dbo.VM_生徒塾種情報 where 状態区分 0 group by 状態区分 order by 状態区分; 3-3 今現在の日付時刻を調べる、SQL文を作成してください。 実行(Ctrl+E)した結果を、コメント欄に書いてください。(書き方自由) SELECT getdate(); 2022-11-02 14 01 13.923 3-4 「VT_テスト生徒得点情報」テーブル使用 生徒コード「 1392 」の生徒の2012年2月に受けた、公開学力テストの 受験科目の合計得点、平均点、最高点、最低点、を出力してください。 ※年月は実施日開始日で抽出。 1392 は存在しなかったので、16225を使用(ほかの問題で使用した) select sum(得点) as 合計得点, avg(得点) as 平均点, max(得点) as 最高点, min(得点) as 最低点 from dbo.VT_テスト生徒得点情報 as a where 生徒コード = 16225 and year(実施日開始日) = 2012 and month(実施日開始日) = 2 and a.得点 999 group by 生徒コード 3-5 3-4の生徒の平均を少数第2位で四捨五入してください。 select sum(得点) as 合計得点, round(avg(得点),2) as 平均点, max(得点) as 最高点, min(得点) as 最低点 from dbo.VT_テスト生徒得点情報 as a where 生徒コード = 16225 and year(実施日開始日) = 2012 and month(実施日開始日) = 2 and 得点 999 group by 生徒コード 3-6 3-4の応用編。下記の様に抽出して下さい。 受験教室学年コード受験者数合計平均最高点最低点 1012735460.0 74.79452095.0 20.0 select 受験教室コード as 受験教室,学年コード, count(*) as 受験者数, sum(得点) as 合計, avg(得点) as 平均, max(得点) as 最高点, min(得点) as 最低点 from dbo.VT_テスト生徒得点情報 as a where 得点 999 and year(実施日開始日) = 2012 and month(実施日開始日) = 2 group by 受験教室コード,学年コード order by 受験教室コード,学年コード 3-7 [列名]現在の日付時刻 翌日の日付時刻 昨日の日付時刻 現在の年 現在の月 現在の日を表示して下さい。 SELECT getdate() as 現在の日付時刻, getdate()+1 as 明日の日付時刻, getdate()-1 as 昨日の日付時刻, year(getdate()) as 現在の年, month(getdate()) as 現在の月, day(getdate()) as 現在の日 3-8 [列名]3日前の日付時刻3日後の日付時刻 3ヶ月前の日付時刻3ヶ月後の日付時刻 3年前の日付時刻3年後の日付時刻 select getdate()-3 as 昨日の日付時刻, dateadd(m,3,getdate()) 3ヶ月後の日付時刻 , dateadd(yy,3,getdate()) as 3年後の日付時刻 , year(dateadd(yy,-8,getdate())) as 8年前の年 ; 3-9 「生徒塾種情報」テーブル使用 所属教室コード単位、状態区分単位で集約してください。 ※各教室コードはVM_組織マスタ(塾種区分=1かつ組織タイプ=3)を参照。 ※状態区分はVM_生徒種マスタ参照。 [条件] 所属教室=西宮、上本町、四条烏丸、西大寺、名古屋、和歌山 のみ。 [列名] 所属教室コード: 教室コード ‘西宮’‘上本町’…: 教室名 状態区分 : 状態 ‘塾生’‘塾外生’…: 状態名称 (関数を使用して): 生徒数 select a.所属教室コード as 教室コード , b.組織名略称1 as 教室名,a.状態区分 as 状態 ,c.名称 as 状態名称,count(a.生徒コード) as 生徒数 from dbo.VM_生徒塾種情報 as a join VM_組織マスタ as b on a.所属教室コード = b.組織KEY join VM_生徒種マスタ as c on a.状態区分 = c.生徒種区分 where (b.組織名略称1 like %西宮% or b.組織名略称1 like %上本町% or b.組織名略称1 like %四条烏丸% or b.組織名略称1 like %西大寺% or b.組織名略称1 like %名古屋教室% or b.組織名略称1 like %和歌山% ) and b.塾種区分 = 1 and b.組織タイプ= 3 group by a.所属教室コード , b.組織名略称1,a.状態区分,c.名称 order by 教室コード, 状態 desc; 3-10 「VM_組織マスタ」使用 [条件] 塾種区分=1 かつ 組織タイプ=3 select cast(組織KEY as varchar) + : +組織名略称1 as 教室一覧 from dbo.VM_組織マスタ where 塾種区分 = 1 and 組織タイプ = 3 order by 組織KEY; 3-11 「VM_生徒受講情報」テーブル使用 [条件] 2014年度かつ、講座コード=5401かつ、 三田教室, 天王寺教室, 草津教室の生徒を検索してください。 ただし、年度の取得は関数を使うこと。 select cast(year(開始日) as varchar)+ 年度 as 受講年度,b.組織名略称1 as 教室名, 小5 選択社会 as 講座名,クラスコード,生徒コード from dbo.VM_生徒受講情報 as a join VM_組織マスタ as b on a.教室コード = b.組織KEY where (b.組織名略称1 like %三田% or b.組織名略称1 like %天王寺% or b.組織名略称1 like %草津% ) and b.塾種区分 = 1 and b.組織タイプ= 3 and year(開始日) = 2014 and 講座コード = 5401 order by a.教室コード, クラスコード desc , 生徒コード; -12 「生徒基本情報」テーブル使用飛び級生のみ一覧を表示 浜 花 子 * → 浜 花 子 ★ 置換してください。(生徒帳票用氏名を置換) ※SELECT文で置換!!UPDATEでの更新はしないでください。 select 生徒コード,replace(生徒帳票用氏名, * , ★ ) as 生徒帳票用氏名,a.生徒氏名カナ_半角 from dbo.VM_生徒基本情報 as a where a.生徒帳票用氏名 like %*% ; 3-13 3-12で「★マーク」に変換した、SQL文をさらに 浜 花 子 ★ → 浜花子★ と置換してください。 select 生徒コード,replace(replace(生徒帳票用氏名, * , ★ ), , ) as 生徒帳票用氏名,a.生徒氏名カナ_半角 from dbo.VM_生徒基本情報 as a where a.生徒帳票用氏名 like %*% ; 3-14 3-3で抽出した生徒の得点を、 合計……少数第1位までを非表示、文字列に変換 平均……少数第2位を四捨五入、少数第1位までを表示、文字列に変換 最高点…文字列に変換 最低点…文字列に変換 select cast(cast(sum(得点)as decimal) as varchar) as 文字列型_合計, cast(round(avg(得点),2)as decimal(3,1)) as 文字列型_平均, cast(max(得点) as varchar) as 文字列型_最高点, cast(min(得点) as varchar)as 文字列型_最低点 from dbo.VT_テスト生徒得点情報 as a where 生徒コード = 16225 and year(実施日開始日) = 2012 and month(実施日開始日) = 2 and 得点 999 group by 生徒コード 3-15 @@@@@@@@@@@@@@@@@@@@@@ 「生徒基本情報」使用 生徒帳票用氏名に「*」が何文字目に含まれているか検索してください。 [条件]飛び級生のみ [列名]生徒コード、生徒帳票用氏名、何文字目 ※SELECT句で、CHARINDEXを利用します。空白もカウントされます。 select a.生徒コード, a.生徒帳票用氏名,CHARINDEX( * ,a.生徒帳票用氏名) as 何文字目 from dbo.VM_生徒基本情報 as a where a.生徒帳票用氏名 like %*% ; 3-16 「講座マスタ」使用 6年生が受講する講座の内で、講座名称「最高レベル」「女子トップレベル」「Mレベル」の 講座のみを抽出し、それぞれ「最・女・M」の文字が何文字目から含まれているかを検索し下記の表を参考に作成してください。 [条件]削除区分=0 ※SELECT句や、WHERE句で、CHARINDEXを利用します。 select 講座コード,charindex( 最 ,講座名称)as 最高レベル,charindex( 女 ,講座名称)as 女子トップ, charindex( M ,講座名称)as Mレベル,講座名称 from dbo.VM_講座マスタ where (講座名称 like %最高レベル% or 講座名称 like %女子トップレベル% or 講座名称 like %Mレベル% ) and 削除区分 = 0 ; 3-17 「講座マスタ」使用 6年生が受講する講座のうち、削除区分が0で 最高レベル特訓 最レ 女子トップレベル特訓 トップレ Mレベル特訓 Mレ 選択社会社会 日曜志望校別特訓(日曜特訓) 日特 灘中合格特訓 灘中 日曜錬成特訓 日錬 の7つの講座のみを抽出し、「大分類」の列名を追加し、上記の値を設定して下さい。 大分類名講座名称講座コード Mレ小6 Mレベル特訓 算数 6308 Mレ小6 Mレベル特訓難問解消6309 select case when 講座名称 like %最高レベル特訓% then 最レ when 講座名称 like %女子トップレベル特訓% then トップレ when 講座名称 like %Mレベル特訓% then Mレ when 講座名称 like %選択社会% then 社会 when 講座名称 like %日曜志望校別特訓(日曜特訓)% then 日特 when 講座名称 like %灘中合格特訓% then 灘中 when 講座名称 like %日曜錬成特訓% then 日練 end as 大分類名, 講座名称, 講座コード from dbo.VM_講座マスタ where (講座名称 like %最高レベル特訓% or 講座名称 like %女子トップレベル特訓% or 講座名称 like %Mレベル特訓% or 講座名称 like %選択社会% or 講座名称 like %日曜志望校別特訓(日曜特訓)% or 講座名称 like %灘中合格特訓% or 講座名称 like %日曜錬成特訓% ) and 削除区分 = 0 group by 講座名称,講座コード order by 大分類名 3-18 「教室別講座マスタ」使用 西宮教室で、2012年以降に始まる全ての講座を検索し下記の様に表示して下さい。 ただし、来年もこのソース(SQL文)を利用できるよう、日付の書き方で「年度=2012」 などと、固定で数値や文字を記述せず、関数を使用します。 データは2014年までしかないので、2022年に「来月開講」とすると結果はゼロ件となる。 9年前の翌月にした select year(開始日)as 年度, 教室コード, 講座コード, SUBSTRING(cast(開始日 as varchar),7,4)+ / +left(開始日,2)+ /01~ as 9年前の翌月開始日 from dbo.VM_教室別講座マスタ as a join dbo.VM_組織マスタ as b on a.教室コード = b.組織KEY where 開始日 = cast(year(dateadd(yy,-9,getdate())) as varchar )+ - +cast(month (dateadd(mm,1,getdate())) as varchar)+ -01 and b.組織名略称2 like 西宮 and b.塾種区分 = 1 order by 開始日; 3-19 「VT_テスト生徒成績集計情報」使用 第470回公開学力テスト、6年生の3科目合計の平均偏差値をランキングしてください。 ※E-R図【成績情報】より、赤字の列名はWHERE句に記述します。 ただし、今回は生徒コードを指定しないので、記述しなくてもよい。 select rank() over (order by avg(偏差値) desc ) as 順位 , 年度, 回数, 受験教室コード, cast(round(avg(偏差値),2) as decimal(3,1))as 平均偏差値, 生徒コード from dbo.VT_テスト生徒成績集計情報 where 回数 = 470 and 学年コード = 6 group by 年度,回数,受験教室コード,生徒コード; 3-20 「テスト生徒成績集計情報」使用 2012年4月、公開学力テストを上本町で受験した生徒を学年単位、大クラス単位で、 下記の様に、ランキングして下さい。平均偏差値は2科目。 select rank() over (order by 学年コード, 大クラスコード, avg(偏差値) desc ) as 順位 , 年度,回数,学年コード,大クラスコード, cast(round(avg(偏差値),2) as decimal(3,1))as 平均偏差値,生徒コード from dbo.VT_テスト生徒成績集計情報 as a join dbo.VM_組織マスタ as b on a.教室コード = b.組織KEY where回数 = 469 and b.組織名略称2 like 上本 and b.塾種区分 = 1 and 年度 = 2012 and month(実施日開始日) = 4 group by年度,回数,学年コード,大クラスコード,生徒コード order by学年コード,大クラスコード,平均偏差値 desc; 3-21 「生徒受講情報」使用 本年度、4年生受講講座「一般コース」を受講の生徒を、大クラス単位で、 下記の様に、ナンバリング(採番)して下さい。 select ROW_NUMBER() OVER(partition by 大クラスコード ORDER BY 大クラスコード,生徒コード),大クラスコード,生徒コード, year(a.開始日) as 年 from dbo.VM_生徒受講情報 as a whereyear(a.開始日) = 2012 and 講座コード = 4101 and 受講学年コード = 4 group by大クラスコード,生徒コード,開始日 select * from dbo.VM_生徒受講情報 as a whereyear(a.開始日) = 2012 and 講座コード = 4101 and 受講学年コード = 4;
https://w.atwiki.jp/nostradamus/pages/247.html
lectoyreはLectoure(レクトゥール(未作成))の誤記もしくは表記の揺れ。 ロジェ・プレヴォ、ピーター・ラメジャラー、マリニー・ローズ、リチャード・シーバースなどはこの立場である(*1)。アナトール・ル・ペルチエもテクスト編では単に Lectoure とだけ注記していた(*2)。 ジャン=ポール・クレベールは1568年版で小文字であることなどから lectoir として、「読書室」と読める可能性に触れている(*3)。 チャールズ・ウォードの指摘以来、信奉者の間には、ル・トルセー(Le Torcey)のアナグラムとする説を支持する者たちがいる(*4)。 登場箇所 詩百篇第8巻43番 ※記事へのお問い合わせ等がある場合、最上部のタブの「ツール」>「管理者に連絡」をご活用ください。
https://w.atwiki.jp/suffix/pages/107.html
JFileChooserはメニューの「ファイル→開く」でファイルを参照したいときに使うことができる。 JFileChooser file = new JFileChooser(); int select = file.showOpenDialog(new JFrame()); ←新しいフレームで開くということ if(selected == JFileChooser.APPROVE_OPTION){ //処理の記述 }
https://w.atwiki.jp/monhanmorio/pages/27.html
BLEACH ブリーチDS ABLJ-E9BD2192 1P タイリョクヘラナイ 621053E4 00000000 B21053E4 00000000 1000023A 00000100 D2000000 00000000 1P パワーLv3 621053E4 00000000 B21053E4 00000000 20000293 00000003 D2000000 00000000 SELECTデ 2P タイリョク0 94000130 FFFB0000 62105408 00000000 B2105408 00000000 1000023A 00000002 D2000000 00000000 SELECTデ 3P タイリョク0 94000130 FFFB0000 6210542C 00000000 B210542C 00000000 1000023A 00000002 D2000000 00000000 SELECTデ 4P タイリョク0 94000130 FFFB0000 62105450 00000000 B2105450 00000000 1000023A 00000002 D2000000 00000000
https://w.atwiki.jp/soyjoynice/pages/23.html
【AngularJS】 すごい具体的なやつ。 ひとつしか選択できないセレクトメニューにこいつを付けると 複数選べるようになる。 ex) body Check me check multiple input type="checkbox" name="checked" br/ select id="select" ng multiple="{{checked}}" option Misko /option option Igor /option option Vojta /option option Di /option /select /body * * * 結果: Check me check multiple 【チェックボックス】 【セレクトメニュー】 ↑ボックスにチェックを入れると、メニューが複数選択可となる。
https://w.atwiki.jp/dellkeitai/pages/19.html
トレース select to_char(last_load_time,'hh24 MI SS') as time , LOADS,EXECUTIONS,sql_text from V$SQLAREA where sql_text like '%%' v$sqlareaのクリア alter system flush shared_pool 接続できない。 ORA-12154 TNS 指定された接続識別子を解決できませんでした Net Confifuration Assistantを設定 「リスナー構成」-「追加」 「ローカル・ネット・サービス名構成」-「追加」 これでOK SQLPLUSフォーマット col 列名 for A10 列名 の幅を10文字にする 履歴機能 linuxではrlwrap(readline wrapper)のインストールが必要 startup時に文字化け Redo Buffersの後に??????の場合は、NLS_LANGが設定されていない NLS_LANG=Japanese_Japan.AL32UTF8 (Windows)set NLS_LANG=Japanese_Japan.JA16SJIS .bash_profileに設定する項目 ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 ORACLE_SID NLS_LANG 文字コード 標準ネーミング規則は Language bit size encoding ALはAll Languagesの略 各国語キャラクタ・セット パスワードが期限切れ ORA-28001 11gXE R2で8080が使われる XML DBで8080や2100が使われている。 失敗1 「C \oraclexe\app\oracle\product\11.2.0\server\database\」にはspfileは無いが、initXE.oraは存在する。 initXE.oraのファイルを開くと、 SPFILE='C \oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora' という記述がある。 同じフォルダ(C \oraclexe\app\oracle\product\11.2.0\server\dbs)にinit.oraがある 別の場所にコピーする。(Windows7では直接編集できない) 「dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'」をコメントにする init.oraを上書きコピーする。 失敗2 「create pfile from spfile」でinitXE.oraを作成 以下の行を削除する dispatchers='(PROTOCOL=TCP) (SERVICE=XEXDB)' データベースを停止し、リスナも停止する。 成功 sqlplus /nolog conn sys/パスワード as sysdba SQL @?/rdbms/admin/catxdbdbca.sql 0 0 バインド値の確認 select u.username, s.module, s.sql_id, s.sql_text, c.name, c.datatype_string, c.value_string from v$sql s, v$sql_bind_capture c, all_users u where s.parsing_user_id = u.user_id and c.sql_id = s.sql_id and c.child_address = s.child_address and s.sql_text like 'select * from emp where deptno=%'
https://w.atwiki.jp/rfactorseries/pages/16.html
本レースは終了しました ★結果 リザルト リプレイ ■芝刈り1H耐久 久々の耐久です~ 芝刈りってことでかなりネタ風味な企画ですがよろしくです~w ▼仕様 rFactor ver1255(F) Mod Lawnmower Racing v1.0 Class IMOWのみ (アップグレードはタイヤがRibbed、クラスをStandardでお願いします) Course Boone County Fairgrounds *上のパックの中に入ってます ▼開催日 Date 4/11(金)22 00~ Room Japan rF Lovers Pass sibakari Practice 22 30-23 00(30min) Race 60min ▼レギュレーション Max Grid 24 Start type Standing Assist Auto Clutch , Auto shift Damage 30% Flag Black only Tire NORMAL Fuel x2 Time Scale x10 *ヘッドライトの設定忘れずに Race Start Time PM 6 00 カット規定 スピードリミッターがないのでペナに注意してください ミラーがないのでLook Behindキーの設定をお願いします(バーチャルミラーも使えません) ▼参加方法 当日サーバーまで直接お越しください。個人、チーム参加どちらも大歓迎です。IRCのチャンネル #rFactor もよろしくお願いします。 IRCの導入の関しては、IRC普及委員会さんを参考にしてください。 初めての場合IRCクライアントは、LimeChatが使いやすいのでお勧めです。 ドライバー交代について *基本的な交代方法についてはこちらから 不具合 ドライバー交代時に車を受け取る側がスポッタープラグインを入れているとレース時にrFが落ちてしまうようです。(ダメージの引継ぎで問題が起こる模様) 今のところ解決策は、1stドライバーのみをやるか、rFを再インストールするかです(スポッタープラグインを消すだけでは直らないようです) セッティング(3rdドライバー以降も同じです) 2ndドライバーはSteerLockとBrakePressureのみ変更可能です。 Passenger selectを押した時点での1stドライバーのセッティングが2ndの人に反映されます。 1stドライバーがセッティングをロードしていない時点でPassenger selectを押した場合、 交代時にデフォルトセットが読み込まれてしまうので注意してください。 セッションが進むと2ndドライバーのセットがデフォルトに戻ってしまいますので、 セッション毎にPassenger selectを押し直して読み込んでください。 セットを変更した場合もPassenger selectを押しなおすと反映されます。 2ndドライバーに交代したまま次のセッションに進むとセットが変更できなくなることがあります。 毎回セッション終了までに1stドライバーに戻しておいてください。 芝刈り1H耐久に関するコメントがあったらご自由にどうぞ。 名前 コメント