SQL Serverの関数を一覧でマスターしよう

4,588 views

Published on

SQLTO #4
LT

================================
PowerPoint File
================================
https://skydrive.live.com/#cid=7564F6E2F76B94BC&id=7564F6E2F76B94BC%21228
================================

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,588
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

SQL Serverの関数を一覧でマスターしよう

  1. 1. 2012/2/25 SQLTO #4
  2. 2.  青木 淳夫(Atsuo AOKI) ◦ http://d.hatena.ne.jp/aoki1210 ◦ Twitter @aoki1210 Nextscapeという会社でエンジニアやってます。 ◦ 仕事は、C#、ASP.NET(MVC)、Azure、Sitecoreなど 使ってます。 ◦ .NETなエンジニア募集中です。 その他 ◦ OSS、アジャイル好き。 ◦ .Net Clipsというまとめサイトもやってます。 ◦ 関西人(神戸出身)です。
  3. 3.  T-SQLの関数を簡単に整理して 紹介したいです。 ◦ MSDN、TechNetは情報が充実しす ぎて、SQL Server初心者には難し い・・  http://msdn.microsoft.com/ja- jp/library/ms174318.aspx ◦ 数年前、メインDBがOracleから SQL Serverに変わった時に「Oracle のこの関数はSQL Serverではどう書 くの?」で苦しんだため。
  4. 4.  T-SQLの関数を、既に整理済み。 2008年ごろにマイナビに頑張っ て連載しました。  http://news.mynavi.jp/articles/2008 /10/22/tsql/index.html  http://news.mynavi.jp/articles/2008 /10/28/tsql/index.html  http://news.mynavi.jp/articles/2008 /10/31/tsql/index.html
  5. 5.  検索エンジンの評価が低く、たぶんあまり見られ ていない。 タイトルを「T-SQLの関数」にしたのが良くな かった。「SQL Serverの関数」にすればよかっ た・・
  6. 6.  一番、伝えたいことを最初に言うと良いらしい。 ぜひ、マイナビの記事「Transact-SQLの関数を 理解しよう」をよろしくお願いします。
  7. 7. 開発で使う主要な関数は大きくわけて、次の5つに分類できます。 文字列系 数学系 日付系 NULL系 変換系
  8. 8. これから、関数名を一覧で表示しますので、関数の内容が何かあててみてください。ちなみに正解分からないかも・・・フォローお願いします。(3年も前なので)
  9. 9. 関数名 説明LEFT 文字列の一部を左端から取得RIGHT 文字列の一部を右端から取得SUBSTRING 一部の文字(イメージ)を取得CHARINDEX 文字列を検索PATINDEX ワイルドカードのパターンで文字列を検索REPLACE 文字列を置換STUFF 位置を指定して文字列を置換
  10. 10. 関数名 説明SPACE 半角スペースの繰り返しREPLICATE 文字列の繰り返しLOWER 大文字を小文字に変換UPPER 小文字を大文字に変換REVERSE 文字式の前後逆転STR 数値データを文字データに変換 (四捨五入可能)LTRIM 先頭空白を削除RTRIM 行末空白を削除
  11. 11. 関数名 説明LEN 文字数DATALENGTH バイト数ASCII ASCIIコードCHAR ASCIIコード(0~255)の文字UNICODE Unicodeの整数コードNCHAR 整数コード(0~65535)のUnicode文字
  12. 12. 関数名 説明ISDATE 日付時刻妥当性GETDATE 現在時刻CURRENT_TIMESTAMP 現在時刻 (ANSI SQL)GETUTCDATE 現在時刻 (UTC時刻)SYSDATETIME 現在時刻。DateTime2型:2008以降 現在時刻(タイムゾーンオフセット含む) :2008以SYSDATETIMEOFFSET 降SYSUTCDATETIME 現在時刻(UTC時刻)。DateTime2型 2008以降
  13. 13. 関数名 説明YEAR 年MONTH 月DAY 日DATENAME 特定部分(年月日時分秒等)を文字列取り出しDATEPART 特定部分(年月日時分秒等)を数値取り出しDATEADD 日付に期間を加算DATEDIFF 2つの日付間の差
  14. 14. 関数名 説明ISNUMERIC 数値妥当性ROUND 丸めCEILING 最小整数FLOOR 最大整数RAND 乱数を生成ABS 正の絶対値SIGN 符号SQUARE 2乗SQRT 平方根POWER べき乗値
  15. 15. 関数名 説明ISNULL NULL時の指定値COALESCE NULLでない最初の値NULLIF 値が等しい場合にNULL、値が異なる場合に1つ目の引数値。CASE 複数の条件を評価関数名 説明CAST 別のデータ型に変換(ISO準拠)CONVERT 別のデータ型に変換。
  16. 16.  SQL Serverに無い関数は自分で実装 してください。 ◦ ユーザー定義関数を作るかどうかの好みは わかれますよね。 Microsoftが提供している無料ツール 「SSMA(SQL Server Migration Assistant)」が参考になります。 ◦ Oracle、MySQL、Sybase、Accessから SQL Server(SQL Azure)に移行するための ツール。 ◦ Oracleを例にすると、TO_CHAR、 TO_DATE、LPAD、TRUNC、LAST_DAY関 数などの実装例が見れます。
  17. 17.  マイナビの記事「Transact-SQLの関数を理解し よう」をよろしくお願いします。 以下の記事はSQL Server Management Studioで すぐ試せるサンプル付きです! ◦ http://news.mynavi.jp/articles/2008/10/22/tsql/in dex.html ◦ http://news.mynavi.jp/articles/2008/10/28/tsql/in dex.html http://news.mynavi.jp/articles/2008/10/31/tsql/in dex.html

×