SQL

SQL

SQL Serverでメールアドレスの@より前と後を分割して取得する

/*@より前の値を取得する*/ substring(mailAddress, 0, charindex('@',mailAddress)) as , /*@より後の値を取得する(末尾は適当に長くしている…)*/ substring(mail...
SQL

SQL ServerでBASE64でデコードする

SELECT CONVERT ( VARCHAR(MAX), CAST('' AS XML).value('xs:base64Binary(sql:column("BASE64_COLUMN"))', 'VARBINARY(MAX)') )...
SQL

UNIONで重複レコードがある場合、優先順位を指定して重複除去

UNION を使うと重複除去されるので UNION ALLを使って、全件抽出したあと、 優先順位を指定する。 table:ta1 --------------- id,col1 --------------- 1,a 2,b -------...
SQL

SQL Server 2017

ただし、2019は64bitのみ 2014
SQL

SQLで取得したレコードをグループに分ける

NTILE関数を使う 例えば、4グループに分けたい場合は SELECT id, NTILE(4) OVER(ORDER BY id DESC) AS a FROM test とすると、12レコードある場合は、1~4が均等にふられる ランダム...
SQL

Order by、where区にcase文

Order byにCase WhereにCase 検索値に値があったら取得 table2のレコード数が100以下ならtable1のレコード全件表示、 そうでなければ何も出力しない select * from table1 where CAS...
SQL

SQL serverでランダムな数字を振る

1~100なら以下 CONVERT(int,(1 + (RAND(CONVERT(INT, CONVERT(VARBINARY(4), NEWID()))) * (100 - 1 + 1)))) ただし、都度ランダムにふられるので、ばらつき...
SQL

縦横変換SQL2

---------------- id,col1,col2 ---------------- 1,a,NULL 1,NULL,b ---------------- ↓ ---------------- id,col1,col2 ------...
SQL

結合キーを持たない、テーブル同士のすべての組み合わせのSQLの書き方

テーブルA、カラムID1 テーブルB、カラムID2 を持つ、すべてのレコードの組み合わせ(結合キー無) select tableA.ID1,tableB.ID2 from tableA cross join tableB
SQL

SQL serverのフリー版 SQL Server Expressのメモ書き

SQL Server Expressとは?概要・有償版との違いについて徹底解説! 開発用、学習用として使える 導入方法 GUI(Manegement Studio)を使ったテーブルの作成方法 SQL Server Management St...