次の方法で共有


PARSE (Transact-SQL)

SQL Server 2012 で要求されたデータ型に変換された式の結果を返します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

PARSE ( string_value AS data_type [ USING culture ] )

引数

  • string_value
    指定したデータ型に解析する、書式設定された値を表す nvarchar(4000) 値。

    string_value は、要求されたデータ型の有効な表現である必要があります。そうでない場合、PARSE でエラーが発生します。

  • data_type
    結果に要求されたデータ型を表すリテラル値。

  • culture
    string_value が書式設定されるカルチャを識別する文字列です (省略可能)。

    culture 引数が指定されていない場合は、現在のセッションの言語が使用されます。 この言語は、SET LANGUAGE ステートメントを使用して、暗黙的または明示的に設定されます。 culture は、.NET Framework でサポートされている任意のカルチャを受け入れます。SQL Server で明示的にサポートされている言語に制限されません。 culture 引数が有効でない場合は、PARSE でエラーが発生します。

戻り値の型

要求されたデータ型に変換された式の結果を返します。

説明

PARSE への引数として渡される null の値は、2 つの方法で扱われます。

  1. null 定数が渡されると、エラーが発生します。 null の値をカルチャに対応する方法で異なるデータ型に解析することはできません。

  2. 実行時に null の値を含んだパラメーターが渡された場合、バッチ全体がキャンセルされないように null が返されます。

PARSE は、文字列型から日付/時刻型および数値型への変換にのみ使用します。 一般的な型変換では、引き続き CAST または CONVERT を使用します。 文字列値の解析には、一定のパフォーマンス オーバーヘッドが発生することに留意してください。

PARSE は、.NET Framework の共通言語ランタイム (CLR) の存在に依存しています。

この関数は、CLR の存在に依存するため、リモート処理は行われません。 CLR が必要な関数をリモート処理すると、リモート サーバー上でエラーが発生します。

data_type パラメーターの詳細

data_type パラメーターの値は、スタイルと共に、次の表に示す型に制限されます。 スタイル情報は、許可するパターンの種類を決定するために提供されます。 スタイルの詳細については、System.Globalization.NumberStyles および DateTimeStyles 列挙体に関する .NET Framework のドキュメントを参照してください。

カテゴリ

.NET Framework 型

使用されるスタイル

数値

bigint

Int64

NumberStyles.Number

数値

int

Int32

NumberStyles.Number

数値

smallint

Int16

NumberStyles.Number

数値

tinyint

Byte

NumberStyles.Number

数値

decimal

Decimal

NumberStyles.Number

数値

numeric

Decimal

NumberStyles.Number

数値

float

Double

NumberStyles.Float

数値

real

Single

NumberStyles.Float

数値

smallmoney

Decimal

NumberStyles.Currency

数値

money

Decimal

NumberStyles.Currency

日付と時刻

date

DateTime

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

日付と時刻

time

TimeSpan

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

日付と時刻

datetime

DateTime

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

日付と時刻

smalldatetime

DateTime

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

日付と時刻

datetime2

DateTime

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

日付と時刻

datetimeoffset

DateTimeOffset

DateTimeStyles.AllowWhiteSpaces |DateTimeStyles.AssumeUniversal

カルチャ パラメーターの詳細

次の表に、SQL Server 言語から .NET Framework カルチャへのマッピングを示します。

完全名

別名

LCID

特定のカルチャ

us_english

英語

1033

en-US

Deutsch

ドイツ語

1031

de-DE

Français

フランス語

1036

fr-FR

日本語

日本語

1041

ja-JP

Dansk

デンマーク語

1030

da-DK

Español

スペイン語

3082

es-ES

Italiano

イタリア語

1040

it-IT

Nederlands

オランダ語

1043

nl-NL

Norsk

ノルウェー語

2068

nn-NO

Português

ポルトガル語

2070

pt-PT

Suomi

フィンランド語

1035

fi

Svenska

スウェーデン語

1053

sv-SE

Čeština

チェコ語

1029

Cs-CZ

magyar

ハンガリー語

1038

Hu-HU

polski

ポーランド語

1045

Pl-PL

română

ルーマニア語

1048

Ro-RO

hrvatski

クロアチア語

1050

hr-HR

slovenčina

スロバキア語

1051

Sk-SK

slovenski

スロベニア語

1060

Sl-SI

ΕΛΛΗΝΙΚΆ

ギリシャ語

1032

El-GR

БЪЛГАРСКИ

ブルガリア語

1026

bg-BG

РУССКИЙ

ロシア語

1049

Ru-RU

Türkçe

トルコ語

1055

Tr-TR

British

英語 (U.K.)

2057

en-GB

eesti

エストニア語

1061

Et-EE

latviešu

ラトビア語

1062

lv-LV

lietuvių

リトアニア語

1063

lt-LT

Português (ブラジル)

ポルトガル語 (ブラジル)

1046

pt-BR

繁體中文

繁体字中国語

1028

zh-TW

한국어

韓国語

1042

Ko-KR

简体中文

簡体字中国語

2052

zh-CN

アラビア語

アラビア語

1025

ar-SA

ไทย

タイ語

1054

Th-TH

使用例

A. Datetime2 に解析します。

SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;

以下に結果セットを示します。

Result
---------------
2010-12-13 00:00:00.0000000

(1 row(s) affected)

B. 通貨記号で解析します。

SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;

以下に結果セットを示します。

Result
---------------
345.98

(1 row(s) affected)

C. 暗黙的な言語設定で解析します。

-- The English language is mapped to en-US specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;

以下に結果セットを示します。

Result
---------------
2010-12-16 00:00:00.0000000

(1 row(s) affected)