2011-12-07 5 views
17

Tôi cần phải chuyển đổi một giá trị số thành nvarchar trong lệnh sql.làm thế nào để chuyển đổi số thành nvarchar trong lệnh sql

Bất kỳ ai cũng có thể giúp tôi.

+1

Nếu bạn không có bản sao của SQL Server sách trực tuyến trên máy tính của bạn, bạn luôn có thể [truy cập nó qua Internet] (http://msdn.microsoft.com/en-us/library/ms130214%28v = sql.90% 29.aspx "Sách SQL Server 2005 trực tuyến"). Hệ thống định vị của nó khá phong nha và cho phép bạn tìm câu trả lời cho các câu hỏi cơ bản khá nhanh chóng. Đây là một bài viết về các hàm chuyển đổi T-SQL: [CAST và CONVERT (Transact-SQL)] (http://msdn.microsoft.com/en-us/library/ms187928%28v=SQL.90%29.aspx). –

Trả lời

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

cảm ơn trả lời .. nếu giả sử MyNumber = 123.45 ... kết quả của tôi sẽ là gì. – Arun

+0

chuyển đổi thành nvarchar là giống nhau, nhưng sử dụng một kiểu dữ liệu số khác như 'decimal (5,2)' –

23
select convert(nvarchar(255), 4343) 

Nên làm các trick.

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

Nếu văn hóa của kết quả không quan trọng hoặc chúng tôi chỉ nói về giá trị nguyên, CONVERT hoặc CAST sẽ ổn.

Tuy nhiên, nếu kết quả phải phù hợp với một nền văn hóa cụ thể, FORMAT có thể là chức năng để đi:

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 

Để biết thêm thông tin về FORMAT thấy here.

Tất nhiên, định dạng kết quả phải là vấn đề của lớp giao diện người dùng của phần mềm.