我有關於T-SQL(MS-SQL)如何處理數據類型轉換一個簡單的問題。我有這兩個查詢返回下面指出各自的價值觀,但我不知道爲什麼:第二個顯示這種方式。實際被捕獲的全部價值是?所討論的列的數據類型是浮點數。只需要這些等於使用IF語句進行比較。MS-SQL類型轉換邏輯
查詢1:
SELECT SUM ([CS_EQ_SHPD]) as CS_EQ_SHPD
FROM [Supplies_DB].DBO.[ITEM]
LEFT JOIN [Supplies_DB].DBO.[BU]
ON BU_# = Business_Unit
WHERE FISC_WEEK = '49' AND FY17_Market = 'Southeast'
返回值: 2953432.88
問題2:
SELECT CAST(SUM ([CS_EQ_SHPD]) AS NVARCHAR(50)) as CS_EQ_SHPD
FROM [Supplies_DB].DBO.[ITEM]
LEFT JOIN [Supplies_DB].DBO.[BU]
ON BU_# = Business_Unit
WHERE FISC_WEEK = '49' AND FY17_Market = 'Southeast'
返回值: 2.95343e + 006
含義你不想要符號,但仍然希望值作爲nvarchar(50),但看起來像2953432.88? –
是啊,但我爲它是如何工作的背景更加好奇。就像爲什麼會這樣「E +」開始的最後一個非十進制數字時,50個字符比足以容納整個浮點值嗎? –
什麼是@@版本? –