問題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);
は私が問題を抱えている表の定義です。この問題は、この質問に検出された
:Input(float) gets converted to integer while saving
を再起動した後も持続します(たとえば、 'float'や' decimal'など)は、それらが*文字列*に変換されるときに使用される形式では問題ありません。問題は、ほぼ確実に、このデータを1つ以上のポイントで文字列に変換してから、文字列が適切なデータ型に変換されるときに問題が発生することです。 –
どのような種類のSQL Serverを使用していますか?どのバージョン?データベースレベルで包含タイプをpartialに設定し、DBレベルでデフォルト言語を変更することができます。これをSQLコマンドで変更するために使用します。https://stackoverflow.com/questions/15705983/how-to-change-default-language-for-sql-server – plaidDK
@Damien_The_Unbeliever私はチェックする必要がありますが、私は暗黙のうちにないと信じています。これらの変数の変換。私は以前の質問にプロジェクトの情報を掲載しました:https://stackoverflow.com/questions/47524571/inputfloat-gets-converted-to-integer-while-savingこれらはプロジェクトのフロートとして定義され、 POSTアクションを使用して直接保存することができます。あなたは私にいくつかの洞察力を与えてくれますか? –