マイクロソフトとSybaseが独自に拡張したSQL言語

Like

WHERE fieldname LIKE '%ab%'

SUBSTRING

文字列定数 abcdef の 2、3、4 番目の文字を表示
SELECT SUBSTRING('abcdef', 2, 3);

RANK関数

複数の行が 1 つの順位を分け合う場合は、それぞれの行に同じ順位が付けられます。
RANK 関数は連続した整数を返すとは限りません。
SELECT RANK() OVER (PARTITION BY ID ORDER BY Quantity DESC) FROM

DENSE_RANK関数

同じパーティションで複数の行が 1 つの順位を分け合う場合は、それぞれの行に同じ順位が付けられます。
常に番号のギャップが発生しない連続する順位番号が返されます。
DENSE_RANK() OVER (PARTITION BY field1, field2 ORDER BY field3)

ISNULL

SELECT IsNull(fieldA, 1) FROM

CREATE TABLE

CREATE TABLE [TableName]
field1 nvarchar(2) NOT NULL DEFAULT (''),
field1 int IDENTITY(1,1) NOT NULL, '自動的に番号を生成し、保存する機能を有効
field1 smallint NOT NULL DEFAULT *1,
field1 date NULL,
field1 datetime NOT NULL DEFAULT (getdate()),
PRIMARY KEY([単位CD]));

DATE 型 CONVERT

CONVERT(VARCHAR,GETDATE(),111)  '2010/09/01 
CONVERT(VARCHAR,GETDATE(),120)  '2010-09-01 12:34:61 
CONVERT(VARCHAR,GETDATE(),112)  '20100901 

前0埋め

RIGHT('000000' + field, 6)

除算

SELECT 912 % 100 '結果 12

DATEDIFF 日付差を求める

DATEDIFF(MONTH, 日付1, 日付2)

CREATE VIEW

CommandにParameter の値があるとエラーとなる
ViewにParameterの概念はない
CREATE VIEW viewname AS SELECT * FROM Tablename

smalldatetime

日付抽出方法
日付 <= '2011/02/20 23:59:00'

テーブルのコピー

intoだけでテーブルは自動createする。なのでSQL Serverでは、create tableは必要ない。
select * into xxxTBL_BACKUP from xxxTBL
最終更新:2011年03月25日 14:40

*1 0