Từ kinh nghiệm của tôi, tôi sẽ cho bạn biết. Có hai trường hợp
1) Bạn muốn chỉ định một tham số trong truy vấn có giá trị được đặt động.
eg: where user_id = :userId
Ở đây, bạn sẽ không gặp bất kỳ sự cố nào nếu bạn đang đặt tham số có cùng tên với "userId";
2) Bạn đang đánh máy giá trị
eg: select count(id) :: integer
khi bạn đang làm điều này, bạn phải sử dụng ký tự thoát nếu không chế độ ngủ đông sẽ nghĩ rằng đó là một tham số. Và nó sẽ báo lỗi "Tất cả các thông số chưa được đặt" bạn có thể khắc phục điều này bằng cách viết mã sử dụng ký tự thoát
eg:select count(id) \\:\\: integer
Vì vậy, điều này sẽ giải quyết vấn đề của bạn Và nếu bạn sử dụng sai dấu gạch chéo tiến thay vì dấu gạch chéo ngược, bạn sẽ gặp lỗi "không cho phép khoảng trắng sau tiền tố"
Wrong: select count(id)//://: integer
Right: select count(id)\\:\\: integer
Nhưng tôi thực sự khuyên bạn nên sử dụng hàm CAST thay vì sử dụng "::"
operatorie này select CAST(count(id) as integer)
Đây là cách truyền kiểu tốt hơn và nó sẽ dẫn đến lỗi tối thiểu