直接 `CONVERT(VARCHAR, float_col)` 會截斷小數。正確路徑:先轉 `DECIMAL(p,s)` 保留精度,再轉字串。
-- 方式 1:CAST 雙層
SELECT CAST(CAST(float_col AS DECIMAL(20,7)) AS VARCHAR(20));
-- 方式 2:CONVERT 雙層
SELECT CONVERT(VARCHAR(20), CONVERT(DECIMAL(20,7), float_col));
-- 方式 3:STR 函數(指定總長、小數位)
SELECT STR(float_col, 38, 2);
-- 錯誤:溢位
SELECT CONVERT(NVARCHAR(30), CONVERT(INT, 聯絡方式));
-- 正確:先轉 DECIMAL(11,0)
SELECT CONVERT(NVARCHAR(30), CONVERT(DECIMAL(11,0), 聯絡方式));
SELECT CONVERT(NVARCHAR(100), CAST(聯絡方式 AS DECIMAL(11,0)));
SELECT STR(聯絡方式, 11, 0);
總結:`FLOAT → DECIMAL → NVARCHAR`,工具可用 `CONVERT`、`CAST`、`STR`。