Tôi chỉ gặp vấn đề thú vị khi cố gắng cắt các số 0 đầu tiên từ một trường không phải là số trong SQL. (Vì nó có thể chứa các ký tự, nó có thể không chỉ được chuyển đổi sang một số và sau đó trở lại.)Thuật toán để cắt các số 0 hàng đầu từ một trường SQL?
Đây là điều chúng ta đã kết thúc bằng:
SELECT REPLACE(LTRIM(REPLACE(fieldWithLeadingZeroes,'0',' ')),' ','0')
Nó thay thế zero với không gian, trái Trims nó, và sau đó đặt các số 0 vào. Tôi nghĩ đây là một cách rất thông minh và thú vị để làm điều đó, mặc dù không thể đọc được nếu bạn chưa bao giờ gặp nó trước đây.
Có cách nào rõ ràng hơn để thực hiện việc này không? Còn cách nào hiệu quả hơn để làm điều này? Hoặc bất kỳ cách nào khác để làm giai đoạn này? Tôi đã bị hấp dẫn bởi vấn đề này và sẽ quan tâm để xem bất kỳ phương pháp nhận được xung quanh nó.
thông minh nếu trường không bao giờ chứa khoảng trắng để bắt đầu bằng – John
@John - true. Trong trường hợp này thì không. Đó là trường ID có thể chứa chữ cái hoặc số. – froadie
Hmmmmm Tôi đã hy vọng có thêm câu trả lời. Có thực sự không có cách nào khác để làm điều này? – froadie