2017-11-28 7 views
0

問題SQL:列番号の形式/言語の変更や形式を確認してくださいは

私は南米から来たんだ、と私は私のPCにSQL Serverをインストールしようとしていたとき、私はスペイン語バージョンをインストールする必要がありました必要(スペイン形式)、そのために、自分のコンピュータの設定を変更する必要もありました。 (スペイン)のスペインと間違っている何

はフォーマット?:

まあ、彼らは小数カンマ「」の代わりに、ドットの指標として使用します。したがって4.5はこの形式の下では4.5です。

この影響はどのようにプロジェクトに影響しますか? (ASP.NET Core):

私の国のデバイスのほとんどは '通常のフォーマット'(4.5)を使用していますが、今はこのフォーマットの番号をデータベースに保存できないという問題が発生しました:4.5

だから、私はいくつかの質問を持っている:

  • 私はデータベースが要求しているフォーマットの種類を確認することができますどのように?
  • SQLサーバーの言語設定を変更するにはどうすればよいですか、またはデータベースに必要な番号の形式を変更するにはどうすればいいですか? 4.5

    CREATE TABLE [dbo].[Device] (
    [DeviceID]   INT   IDENTITY (1, 1) NOT NULL, 
    [DeviceName]  NVARCHAR (MAX) NULL, 
    [Id]    INT   NOT NULL, 
    [InitialAmount]  INT   DEFAULT ((0)) NOT NULL, 
    [DeviceStatus]  INT   DEFAULT ((0)) NOT NULL, 
    [DeviceDateCreated] DATETIME2 (7) DEFAULT ('0001-01-01T00:00:00.000') NOT NULL, 
    [StoreID]   INT   DEFAULT ((0)) NOT NULL, 
    [MachineOwnerID] INT   DEFAULT ((0)) NOT NULL, 
    [CoinValue]   REAL   NOT NULL, 
    [FechaPUnit]  DATETIME2 (7) DEFAULT ('0001-01-01T00:00:00.000') NOT NULL, 
    [PUnit]    REAL   NOT NULL, 
    [SellType]   NVARCHAR (MAX) NULL, 
    CONSTRAINT [PK_Device] PRIMARY KEY CLUSTERED ([DeviceID] ASC), 
    CONSTRAINT [FK_Device_Machine_Id] FOREIGN KEY ([Id]) REFERENCES [dbo].[Machine] ([Id]) ON DELETE CASCADE); 
    

    の両方が実数として定義されています。ここではenter image description here

は私が問題を抱えている表の定義です。この問題は、この質問に検出された

Input(float) gets converted to integer while saving

+0

を再起動した後も持続します(たとえば、 'float'や' decimal'など)は、それらが*文字列*に変換されるときに使用される形式では問題ありません。問題は、ほぼ確実に、このデータを1つ以上のポイントで文字列に変換してから、文字列が適切なデータ型に変換されるときに問題が発生することです。 –

+0

どのような種類のSQL Serverを使用していますか?どのバージョン?データベースレベルで包含タイプをpartialに設定し、DBレベルでデフォルト言語を変更することができます。これをSQLコマンドで変更するために使用します。https://stackoverflow.com/questions/15705983/how-to-change-default-language-for-sql-server – plaidDK

+0

@Damien_The_Unbeliever私はチェックする必要がありますが、私は暗黙のうちにないと信じています。これらの変数の変換。私は以前の質問にプロジェクトの情報を掲載しました:https://stackoverflow.com/questions/47524571/inputfloat-gets-converted-to-integer-while-savingこれらはプロジェクトのフロートとして定義され、 POSTアクションを使用して直接保存することができます。あなたは私にいくつかの洞察力を与えてくれますか? –

答えて

0

あなたはsp_configureを使用して、デフォルトDBの言語を変更することができます - あなたが影響を与える取るためにSQLサービスを再起動する必要があります。

ます。また、ここで詳細を読むことができます:Configre default language

SQL言語言語を変更するために

╔════════╦═════════════════════╗ 
║ LANGID ║  ALIAS  ║ 
╠════════╬═════════════════════╣ 
║  0 ║ English    ║ 
║  1 ║ German    ║ 
║  2 ║ French    ║ 
║  3 ║ Japanese   ║ 
║  4 ║ Danish    ║ 
║  5 ║ Spanish    ║ 
║  6 ║ Italian    ║ 
║  7 ║ Dutch    ║ 
║  8 ║ Norwegian   ║ 
║  9 ║ Portuguese   ║ 
║  10 ║ Finnish    ║ 
║  11 ║ Swedish    ║ 
║  12 ║ Czech    ║ 
║  13 ║ Hungarian   ║ 
║  14 ║ Polish    ║ 
║  15 ║ Romanian   ║ 
║  16 ║ Croatian   ║ 
║  17 ║ Slovak    ║ 
║  18 ║ Slovenian   ║ 
║  19 ║ Greek    ║ 
║  20 ║ Bulgarian   ║ 
║  21 ║ Russian    ║ 
║  22 ║ Turkish    ║ 
║  23 ║ British English  ║ 
║  24 ║ Estonian   ║ 
║  25 ║ Latvian    ║ 
║  26 ║ Lithuanian   ║ 
║  27 ║ Brazilian   ║ 
║  28 ║ Traditional Chinese ║ 
║  29 ║ Korean    ║ 
║  30 ║ Simplified Chinese ║ 
║  31 ║ Arabic    ║ 
║  32 ║ Thai    ║ 
║  33 ║ Bokmål    ║ 
╚════════╩═════════════════════╝ 
0

USE [DBNAME] ; 
GO 
EXEC sp_configure 'default language', 0 ; 
GO 
RECONFIGURE ; 
GO 

リストを、素敵Set Language guideありMicrosoftのドキュメントで。

言語はsys.syslanguagesに保存されており、そこから設定されています。

あなたが永続的に言語を変更する必要がある場合は、

移動するためのセキュリティ

  • ログイン
  • 右あなたのユーザ名と[プロパティ]を選択します
  • の変更デフォルトの言語をクリックします。から英語へ

この変更は、あなたが適切に入力された変数にデータを保持する場合は、あなたのSSMS

関連する問題