1

SQL Server についてちょっとばかげた質問があります。BigInt を SQL Server に格納しようとしていますが、Nvarchar(Max)スタイル フィールドに挿入する前に文字列に変換できると考えています。

ただし、SELECTその列に対してステートメントを実行する必要があります。これは文字列であるため、評価方法がわかりません。「234234」は「2342545345344」よりも小さいと見なされるなど、一部の言語の文字列は数値的に評価されることを認識しています。ここで同様のことを行うことは可能でしょうか?

編集: 爆発、私はばかです。SQL の BigInt よりもはるかに大きな値を保持できる C# の BigInteger と言うつもりでした。

4

2 に答える 2

2
order by cast(varchar_column as bigint)
于 2012-06-18T07:20:47.130 に答える
1

どんなタイプのSELECT演奏をしますか?簡単な最初のステップとして(すべての値が正であり、数字のシーケンスとして保存されていると仮定します(科学的記数法や記号記号なし))、2つの文字列の長さを比較できます。

短い文字列は、2つのうち小さい方です。2つの文字列同じ長さの場合、小さい方の文字列(アルファベット順)は数値的に小さくなります。

したがって、出力0するのaは、より小さいb1等しい、2よりa大きいのはb:です。

CASE
  WHEN LEN(a) < LEN(b) THEN 0
  WHEN LEN(a) > LEN(b) THEN 2
  WHEN a < b THEN 0
  WHEN a > b THEN 2
  ELSE 1
END
于 2012-06-18T09:37:56.080 に答える