2011-12-29 47 views
15

Có thể thay đổi dấu phẩy thập phân từ "." (dấu chấm) để ký tự khác (dấu phẩy) trong đầu ra MySQL? Tôi không muốn sử dụng các chức năng như FORMAT, tôi chỉ muốn sử dụng tất cả các truy vấn mà tôi thường sử dụng mà không cần sửa đổi gì. Tôi đang tìm một số thiết lập (của một số biến, miền địa phương, vv). Tôi đã cố gắng tìm kiếm hướng dẫn nhưng không thành công.Thay đổi dấu phân cách thập phân trong MySQL

+1

Tôi không thực sự hiểu điều này - ý bạn là gì bởi "đầu ra MySQL"? Hiển thị kết quả truy vấn thông qua ứng dụng dòng lệnh mysql? Các giá trị số không có dấu tách thập phân được định nghĩa bởi MySQL, thay vào đó chúng được định nghĩa bởi ngôn ngữ và khung được sử dụng để xuất chúng ra để sử dụng cho con người. –

+1

@ MattH, tôi có nghĩa là bất kỳ đầu ra khách hàng (giao diện điều khiển, PHP, bất cứ điều gì). Vấn đề trong PHP là bạn luôn nhận được chuỗi, ngay cả khi trường cơ sở dữ liệu có kiểu 'double'. Vì vậy, không có giải pháp chung rõ ràng nào về phía PHP, vì vậy tôi đã tìm kiếm trong MySQL. – TMS

Trả lời

19

Không, bạn không thể. Đó là tiêu chuẩn SQL và MySQL tuân thủ tiêu chuẩn này (ít nhất là ở điểm đó).

Vấn đề không thực sự với đầu ra (như bạn đề cập, có nhiều hàm FORMAT trong hầu hết các DBMS) nhưng với INSERT. Nếu bạn có thể sử dụng dấu phẩy , ví dụ như dấu thập phân (phổ biến ở các ngôn ngữ khác) được sử dụng làm dấu tách giá trị, Chèn sẽ trở nên mơ hồ. Xem câu trả lời của tôi trong câu hỏi: insert-non-english-decimal-points-in-mysql

+0

ypercube, cảm ơn. Tiêu chuẩn SQL là gì? Cú pháp truy vấn SQL, hoặc định dạng đầu ra, hoặc cả hai? Tôi chỉ cần đầu ra, để nếu tôi chọn 'select 1/3' thì nó sẽ xuất ra' 0,33333'. – TMS

+0

Tôi không chắc liệu định dạng đầu ra có được chỉ định trong các tiêu chuẩn SQL hay không và có thể khác với các phương thức/khung kết nối khác nhau. Nhưng tôi biết không có cách nào để làm điều đó trong MySQL. –

21

Mẹo để xuất CSV: SELECT REPLACE(CAST(prijs_incl AS CHAR), '.', ',') sẽ cung cấp cho bạn đầu vào có thể được sử dụng làm trường số trong bảng tính châu Âu.

+15

Hữu ích, bạn có thể trực tiếp sử dụng 'CHỌN LỰA CHỌN (prijs_incl, '.', ',')' Như chuyển đổi chuỗi là tự động, xem [mysql doc] (http://dev.mysql.com/doc/refman/5.0 /en/cast-functions.html#function_cast) – vicenteherrera

Các vấn đề liên quan