J'essaie de convertir NvarchaRar (12) à INT afin que je puisse l'utiliser dans mon code-derrière, les données de ma colonne sont liées au temps (HH: mm) comme ci-dessous:
SELECT LTRIM(DATEDIFF(MINUTE, 0, column1)) FROM tstable
4 Réponses :
Les travaux suivants dans SQL Server:
select datediff(minute, 0, column1)
Étant donné que le type de données est Nvarchar, vous pourriez vous pouvez par des méthodes de chaîne: résultat Démo < / forte> avec des données d'échantillon données: p> sortie: p> 316 code> p>
Essayez ceci ..
SELECT
CAST(SUBSTRING(your_column,1,CHARINDEX(':',your_column,0)-1)AS INT)*60+
CAST(SUBSTRING(your_column,CHARINDEX(':',your_column,0)+1,LEN(your_column)) AS INT) AS T_MIN
FROM your_table
select LEFT(Time1, 2) * 60 + Right(Time1, 2) Minutes from table6
Le code que vous avez posté fait exactement ce que vous dites que vous voulez que ce soit. L'erreur que vous obtenez n'est pas générée par le code que vous nous indiquez. (Le
ltrim code> doit être enveloppé autour ducolonne1 code>NVARCHAR code>, pas autour duentier résultant code> valeur, mais ça reste Ne jette aucune erreur.) SQL Fiddle