09/10/2018, 18:08
Dùng hàm trong câu lệnh SQL
Làm sao để dùng 1 hàm trong câu lệnh SQL
ví dụ: Trong CSDL có bảng Tinh, và field tentinh bao gồm: Tây Ninh, Thành phố Hồ Chí Minh, HÀ NỘi, huế, Hải Phòng
tôi có 1 text box là "timtinh": tất nhiên khi nhập vào thì không phân biệt hoa thường, như vậy câu lệnh Select của tôi phải như thế nào mới có thể tìm được đúng tỉnh mà người ta nhập vào text box "timtinh" mà không phân biệt hoa thường.
ví dụ: Trong CSDL có bảng Tinh, và field tentinh bao gồm: Tây Ninh, Thành phố Hồ Chí Minh, HÀ NỘi, huế, Hải Phòng
tôi có 1 text box là "timtinh": tất nhiên khi nhập vào thì không phân biệt hoa thường, như vậy câu lệnh Select của tôi phải như thế nào mới có thể tìm được đúng tỉnh mà người ta nhập vào text box "timtinh" mà không phân biệt hoa thường.
Bài liên quan
Bạn nên chuyển nó về dạng chữ thường (hay chữ hoa) bằng một function mà bạn viết riêng bên ngoài module SQL, sau đó dùng câu SQL để so sánh một cách càng giản dị càng tốt.
Nếu bạn dùng Unicode thì cẩn thận, bạn phải viết riêng một hàm chuyển từ hoa sang thường (hay ngược lại) vì SQL không có dự trù chuyện này.
Các cao thủ xin hãy cố giúp tôi nhé, quả thật tôi nghĩ hoài mà không ra.
VD: SELECT * FROM tinh WHERE ten LIKE %aBc%
Tôi có Text box để nhập tỉnh cần tìm là txtTinh
nhưng câu lệnh SQL là:
"Select * From Tinh where tentinh='" & Chuyen_Hoa(txtTinh) & "'"
Điều quan trọng ở đây là làm sao cho dữ liệu trong field tentinh được chuyển thành hoa trước khi so sánh thì mới được, nhưng thật tình tui không nghĩ được cách nào cả.
Bạn có thể chuyển cách giải quyết như sau :
1) database của bạn, trong cột tentinh, bạn hãy chuyển tất cả ra chữ hoa.
2) Từ textbox mà khách nhập tên tinh như txtTinh, bạn chuyển nó ra chữ hoa :
$txtTinh = Chuyen_Hoa (txtTinh);
3) Xong cho chạy câu SQL :
"Select * From Tinh where tentinh='" & $txtTinh & "'"
Chương trình sẽ chạy, nhưng phải chịu khó làm mục 1).