2011-12-07 10 views
17

Potrzebuję przekonwertować wartość liczbową na nvarchar w komendzie sql.Jak przekonwertować numeryczne na nvarchar w komendzie sql

Czy ktoś może mi pomóc.

+1

Jeśli nie masz kopii książek SQL Server Books Online na komputerze, możesz zawsze [uzyskać do niej dostęp przez Internet] (http://msdn.microsoft.com/en-us/library/ms130214%28v = sql.90% 29.aspx "SQL Server 2005 Books Online"). Jego system nawigacji jest całkiem przyzwoity i powinien pozwolić ci dość szybko znaleźć odpowiedzi na podstawowe pytania. Oto artykuł o funkcjach konwersji T-SQL: [CAST i CONVERT (Transact-SQL)] (http://msdn.microsoft.com/en-us/library/ms187928%28v=SQL.90%29.aspx). –

Odpowiedz

9
declare @MyNumber int 
set @MyNumber = 123 
select 'My number is ' + CAST(@MyNumber as nvarchar(20)) 
+0

dzięki za odpowiedź .. jeśli przypuśćmy, że Mój numer = 123,45 ... jaki będzie mój wynik. – Arun

+0

Konwersja na nvarchar jest taka sama, ale użyj innego typu danych liczbowych, np. "Dziesiętny (5,2)" –

23
select convert(nvarchar(255), 4343) 

powinno załatwić sprawę.

3
declare @MyNumber float 
set @MyNumber = 123.45 
select 'My number is ' + CAST(@MyNumber as nvarchar(max)) 
0

Jeśli kultura wynik nie sprawy lub mówimy tylko wartości całkowite, CONVERT lub CAST będzie dobrze.

Jednakże, jeśli wynik musi dopasować specyficzną kulturę, FORMAT może być funkcja, aby przejść:

DECLARE @value DECIMAL(19,4) = 1505.5698 
SELECT CONVERT(NVARCHAR, @value)  --> 1505.5698 
SELECT FORMAT(@value, 'N2', 'en-us') --> 1,505.57 
SELECT FORMAT(@value, 'N2', 'de-de') --> 1.505,57 

Więcej informacji na temat FORMAT zobaczyć here.

Oczywiście formatowanie wyniku powinno zależeć od warstwy interfejsu użytkownika oprogramowania.

Powiązane problemy