تبدیل float به nvarchar در SQL Server
در این نوشته کوتاه به نحوه تبدیل نوع عددی float به نوع رشته ای nvarchar یا varchar در محیط پایگاه داده sql server می پردازیم. مشکل این است که در زمان تبیدیل مستقیم نوع FLOAT به نوع رشته ای NVARCHAR عدد به شکل نمایی در می آید.
مثلا کد مقابل را ملاحظه نمایی:
declare @FltNumber float
set @FltNumber = 985545564564
select @FltNumber as FloatNumber , convert(nvarchar(50) , @FltNumber) as NumberInNavarChar
خروجی این کد به صورت زیر می باشد:
FloatNumber
|
NumberInNavarChar
|
985545564564
|
9.85546e+011
|
همانطور که مشاهده می کنید خروجی در حالت رشته ای به صورت نمایی درآمده است. برای رفع این مشکل از تکه کد زیر استفاده نمایید.
CAST(CAST(@FltNumber AS DECIMAL(20)) AS VARCHAR(20)) as NumberInNavarChar
خروجی:
FloatNumber
|
NumberInNavarChar
|
985545564564
|
985545564564
|