2017-10-13 18 views
0

私はSQL Server 2014フランス語を持っています。mssql convert(date)問題

私は[私は

  1. 日、DD-MON-YYYY文字列に日付・時間欄[13-OCT-2017]
  2. DD-MON-YYYY文字列に変換することができます方法を理解したいと思いますYYYYMMDD Stringに13-OCT-2017] [20171013]
  3. DD-MON-YYYY文字列[13-OCT-2017]今日まで、日時値iがだろうMSSQL DBに通常

このDBでは動作しません

convert(date, Column_Name, 102),'-','') 

:YYYYMMDDにDD-MON-YYYY文字列から変換する

31-AOÛT-2017 instead of 31-AUG-2017 

&:0

select Upper(replace(CONVERT(NVARCHAR, COLUMN_NAME, 106), ' ', '-')) 

しかし上記のクエリは、私のようなものを取り出します。

ありがとうございます。

+2

なぜこのようにしたいのですか?あなたのユースケースについて説明できますか?私が尋ねる理由は、日付のフォーマットはデータストアの問題ではなく、プレゼンテーションレイヤの問題であるということです。ストアに日付を保持している場合は、date/datetime2(または従来のdatetime)型のパラメータの形式で「送信」する必要があります。日付/ datetime2の値を取得する場合は、文字列に変換してください(コールスタックで可能な限り遅い) – Igor

+0

@Igor異なる人が異なるフォーマットで入力日付を要求することによって作成された異なるオブジェクトがありますが、デザインが効率的ではないことに同意しますが、実際には必要な書式文字列に変換する必要があります。表示と並んで、変換もデータ型に影響します。たとえば、文字列とは、char、varchar形式を意味します。 – pOrinG

答えて

0

通常、アプリケーションによって設定されたプリファレンスに従って、結果セットを使用するクライアントアプリケーションを許可します。開発者であるあなたがなぜフランス語(または他の言語)の月名ではなく英語を使用する必要があると思われますか?

しかし、私たちはずっと前にその決定点を通過したことを知っています。 format関数を使用してこれを行うことができます。 の例があります。がドキュメントにあります。here

0

これは言語の問題です。トランザクションの言語を手動で設定します。

+0

こんにちはJohnさん、コメントありがとうございます。ここで私はSET LANGUAGE = English paramを追加せずに、Select文だけを使ってこれを行うことができます。 – pOrinG

関連する問題