私のCDRテーブルにCallingPartyというフィールドがあります。このようなデータが含まれています
267672668788
次のような各番号の最初の3つの番号を選択したい
267
CallingParty
がint型の場合:
SELECT CAST(LEFT(CallingParty, 3) AS INT)
From CDR
SQL ServerにはLeft()関数がありますが、文字列に対して最も効果的に機能します。 (SQLのvarchar/char)
Select left(cast(267672668788 as varchar), 3)
このクエリを使用します。
SELECT SUBSTRING(CAST(CallingParty AS VARCHAR(50)), 1, 3) FROM [CDR]
データ長が変わらない場合は、常に10 *持っている数字で除算できます。
SELECT FLOOR(267672668788 / 1000000000)
=267