【解決方法】nvarchar を数値に変換する


ID番号携帯
1 2021/23958 9.98911e+007
2 2021/24584 9.60002e+007
3 2023/29525 6.906e+007
4 2023/29538 9.9044e+007

上記の表のデータと、電話番号であるため、携帯電話の列を数値として取得したい。 電話番号としてデータを取得するためのクエリの書き方.正しい結果を得るために私を助けてください.

私が試したこと:

float を使用してみましたが、正しく表示されません。 このようなショー

からモバイルとして convert(float, (mobile)) を選択します [TestDB].[dbo].[TESTA]

モバイル
99891100
96000200
69060000
99044000

しかし、上記の値は正しくありません

正しい値
99891057
96000179
99044040
69060001

解決策 1

名前はともかく電話 番号 は実際には数ではありません。 数値演算を実行することはありません。たとえば、2 つの電話番号を足し合わせても意味がありません。

電話番号は、文字列として保存および処理する必要があります。

そして、実際に値を次のように保存した場合 9.98911e+007の場合、データは破損しており、復元できません。 「数値」の最初の 6 桁のみを格納し、「数値」を四捨五入したため、7 桁と 8 桁が失われ、6 桁はほとんどの場合間違っています。

コメント

タイトルとURLをコピーしました