LIKE述語
用途:特定の文字列が含まれる行を取得する(where句で使用)
■%ワイルドカード
0個以上の文字で構成される文字列にマッチするワイルドカード。
製品名(Name)に「Ball」という文字列を含む行と
「LL」という文字列で始まる行を取り出すSQLは以下の通り。
SELECT Product.ID, Name FROM Production.Product WHERE Name LIKE '%Ball%' OR Name LIKE 'LL%'
※ワイルドカードでは大文字と小文字が区別されることに注意
製品名(Name)の最初が「Hex Nut」で、その後に任意の一文字を持つ行を
取り出すSQLは以下の通り。
SELECT ProductID,Name FROM Production.Product WHERE Name LIKE 'Hex Nut _'
なお、「_」は複数指定することも可能
「Hex Nut 10」のようにNutの後に任意の2文字が続く製品名を持つことを
条件に指定する場合のSQLは以下の通り。
SELECT ProductID,Name FROM Production.Product WHERE Name LIKE 'Hex Nut __'
■%ワイルドカードと_ワイルドカードの組み合わせ
%ワイルドカードと_ワイルドカードは組み合わせることが可能
Productテーブルから、製品名NameがCで始まり
最後の文字の一つ前がcである行を取り出すSQLは以下の通り。
SELECT ProductID,Name FROM Production.Product WHERE Name LIKE 'C%c_'
SQL文の種類
DDL(Data Definition Language:データ定義言語)
→データベースやテーブルの作成などを行うために定義されている言語
・CREATE:データベースやテーブルの作成
・ALTER :データベースやテーブルの定義の変更
・DROP :データベースやテーブルの削除
DML(Data Manipulation Language:データ操作言語)
→テーブルに格納されるデータを取り扱う言語
・SELECT:テーブルに格納されたデータの取得
・UPDATE:テーブルに格納されたデータの内容の更新
・INSERT:テーブルへのデータ追加
・DELETE:テーブルからのデータ削除
DCL(Data Control Language:データ制御言語)
→データベースの制御やトランザクションの利用を行うために定義されている言語
・COMMIT :トランザクションの確定
・ROLLBACK:トランザクションの取り消し
・GRANT :データ操作権限のユーザーへの付与
・REVOKE :データ操作権限のユーザーからの剥奪
そもそもTSQLとは?
SQLの標準規格は、SQL87やSQL92など
ANSIやISOなどで標準規格が策定されている。
しかし、各種のRDBMSでは独自の拡張が行われており
マイクロソフトでは、この標準規格をSQL Server向けに拡張して
「Transact SQL」という言語仕様としてまとめている。
ゆえにSQL Serverでは、標準規格に則ったSQLと
SQL Server専用のSQLが混在していることになる。
BULK_INSERTでテーブルにCSVファイルからデータインポート
BULK_INSERTで少し詰まったのでメモ
まず、サンプルテーブルの作成
CREATE TABLE dbo.MyFirstImport ( PersonID smallint, FirstName varchar(30), LastName varchar(30), BirthDate Date );
最初次のやり方でトライしたところインポートできませんでした。
BULK INSERT Sales.dbo.MyFirstImport FROM 'C:\Users\hoge\Documents\sample_01.csv' WITH (FORMAT = 'CSV');
下のやり方ならインポートできました。
BULK INSERT Sales.dbo.MyFirstImport FROM 'C:\Users\hoge\Documents\sample_01.csv' WITH( FIELDTERMINATOR = ',' );
あとchar,varchar型のデータの場合、データにシングルクォーテーションで加工必要がありました。
以下のサイトを参考にさせていただきました。
http://sql55.com/query/bulk-insert.php
以上。
T-SQLで、カーソルSELECT、フェッチからのループ
■処理概要
従業員データが格納されたEmployeeテーブルを使って
パラメーターとして渡されたマネージャーコード(@MngID)に関連付けられた
従業員とその職種の一覧を出力する
※データは、AdventureWorks2014を使用
CREATE procedure uspSample5 @MngID int AS /* 変数リストの宣言 */ DECLARE @FirstName nvarchar(50) DECLARE @LastName nvarchar(50) DECLARE @Title nvarchar(50) /* カーソルの宣言 */ DECLARE EmpCur CURSOR FOR SELECT cnt.FirstName,cnt.LastName,emp.JobTitle FROM HumanResources.Employee AS emp INNER JOIN Person.Person AS cnt ON emp.BusinessEntityID = cnt.BusinessEntityID WHERE emp.OrganizationLevel = @MngID /* カーソルを開く */ OPEN EmpCur /* 行の取り出し */ FETCH NEXT FROM EmpCur INTO @FirstName,@LastName,@Title /* ループ処理 */ WHILE (@@FETCH_STATUS = 0) BEGIN /* 変数リストの値の出力 */ PRINT @FirstName + ' ' + @LastName + ' ' + @Title /* 行の取り出し */ FETCH NEXT FROM EmpCur INTO @FirstName,@LastName,@Title END /* カーソルを閉じる */ CLOSE EmpCur DEALLOCATE EmpCur RETURN
以上。
Unityチュートリアル①
最近Unityを独学してるんで備忘録代わりに記事を作成しておく。
Unityのオフィシャルサイトのチュートリアルで学習中
http://japan.unity3d.com/developer/document/tutorial/my-first-unity/
--
ここではUnityのインターフェースについて説明します。
■インターフェース
・概要
主要なビューは赤枠で囲まれた4つです。
①シーン(真ん中)
シーンとは、ゲームのレベルやUIを含むもので、「画面」(=ステージ)それぞれのことです。
「メニュー画面」や「ゲームオーバー画面」などはそれぞれシーンを切り替えて作ります。
②ヒエラルキー(左)
ヒエラルキービューには、現在のシーンで使用しているゲームオブジェクト(シーン内に配置される全てのオブジェクトを指す)が全て格納 してあります。
③インスペクター(右)
インスペクタービューは、その時点で選択されているゲームオブジェクトの詳細情報と、それに関連付いているコンポーネントとそのプロパティを表示する。
ここで各ゲームオブジェクトの位置、動作、大きさ等を設定する。
④プロジェクトビュー
ゲームで使用するすべてのアセット(JS、音楽ファイル等)の管理 を行います。
--
とりあえず今日はここまで。