すべての値がSQL Serverに読み込まれるスプレッドシートがあります。スプレッドシート内のフィールドの1つがお金になる場合があります。さて、すべてが正式に表示されるように、私は自分のtblにMoneyをDataTypeとしてフィールドを追加しました。SQL Serverの文字列とデータ型の問題
スプレッドシートから値を読み取ると、このような文字列として格納されます。"94259.4"。 SQL Serverに挿入すると、"94259.4000"のようになります。 SQL Serverの値を0から取り除く方法はありますか?DBから取得するときに問題が発生するのは、これらの2つの値は同じですが、両方が比較されるためです文字列として - 同じ値ではないと考えています。
値がこのように見える場合は、別の問題が予想されています... 94,259.40私は、期間の後に数値を2に制限していると思います。だから私はこの形式でサーバーから値を選択する94,259.40 - 私は大丈夫でなければなりません。
EDIT:
For Column = 1 To 34
Select Case Column
Case 1 'Field 1
If Not ([String].IsNullOrEmpty(CStr(excel.Cells(Row, Column).Value)) Or CStr(excel.Cells(Row, Column).Value) = "") Then
strField1 = CStr(excel.Cells(Row, Column).Value)
End If
Case 2 'Field 2
' and so on
私は、各フィールドを通過し、文字列として値を格納します。次に、それをDBと比較して、同じ値を持つレコードがあるかどうかを確認します。私の方法で唯一のフィールドは、マネーフィールドです。
スプレッドシートをSQL Serverにロードするためにどのツールを使用していますか? – user3272686
ずっと以前に学んだ醜いレッスン:決して、絶対に、決して、決して、eVeRでは、SQL ServerでMONEYデータ型を使用します。それは子犬を傷つけ、宇宙の不均衡を引き起こします。 –
@ user3272686 - スプレッドシートを開き、値を取得するツールはありません。 – BobSki