J'ai un champ appelé CallingParty dans ma table CDR, il contient des données comme celle-ci
267672668788
Je veux sélectionner les 3 premiers chiffres de chacun de ces nombres comme
267
si CallingParty
est de type int:
SELECT CAST(LEFT(CallingParty, 3) AS INT)
From CDR
Utilisez cette requête:
SELECT SUBSTRING(CAST(CallingParty AS VARCHAR(50)), 1, 3) FROM [CDR]
SQL Server a une fonction Left (), mais cela fonctionne mieux sur les chaînes. (varchar/char en SQL)
Select left(cast(267672668788 as varchar), 3)
Si la longueur des données ne change pas, vous pouvez toujours diviser par 10 * les chiffres que vous avez.
SELECT FLOOR(267672668788 / 1000000000)
=267