Tìm Kiếm Không Dấu Trong Sql - Programming - Dạy Nhau Học Trang chủ » Tìm Kiếm Có Dấu Trong Sql Server » Tìm Kiếm Không Dấu Trong Sql - Programming - Dạy Nhau Học Có thể bạn quan tâm Tìm Kiếm Có Dấu Và Không Dấu Trong Sql Tìm Kiếm Có Nghĩa Là Gì Tìm Kiếm Công Nhân ở Rào Trăng 3 Tìm Kiếm Công Ty Thực Tập Tìm Kiếm Công Việc Làm Tại Nhà Tìm kiếm không dấu trong sql programming sql thaoly (Nguyễn Thảo Ly) January 14, 2017, 6:09pm #1 Trong cột của em có lưu trữ chữ Hồng nhưng truy vấn mênh đề " LIKE ‘%hong%’ " thì ko cho ra kết quả , chỉ khi nhập có dấu nó mới ra đúng . Vậy có cách nào không vậy mọi người ? nguyenhuuca (Nguyen Ca) January 15, 2017, 3:41am #2 Em dùng cơ sơ dữ liêụ nào? Nếu là SQL Server có thể tìm hiểu fulltext search và FREETEXT function Lâu rồi anh không dùng, nhưng anh nhớ là nó làm được, thử xem. 1 Like ronin1184 (Son Tran) January 17, 2017, 5:18am #3 Thường những cột nào dùng để search thì mình hay thêm 1 field phiên bản ascii của nó. Ví dụ: Field title có nội dung “Đông lạnh” thì field ascii_title có nội dung: “dong lanh”. Làm như vậy sẽ dễ hơn cho việc tìm kiếm và sắp xếp. Do vấn đề sắp xếp sẽ gặp rắc rối đối với các kí tự chữ hoa và chữ thường, ascii và không ascii (d và đ không nằm kế nhau). Kollein_Vinh (Kollein Vĩnh) January 17, 2017, 8:43am #4 Hiện tại mình đang xài MYSQL 5.1.x hỗ trợ tìm kiếm tiếng việt có dấu (nhưng đặc biệt là chữ Đ nó không tìm được) Nếu bạn muốn hàm convert có dấu sang không dấu thì dùng hàm này (mình đang sài): function convertAlias($cs){ $vietnamese=array("à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ", "è","é","ẹ","ẻ","ẽ","ê","ề","ế","ệ","ể","ễ", "ì","í","ị","ỉ","ĩ", "ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ", "ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ", "ỳ","ý","ỵ","ỷ","ỹ", "đ", "À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă","Ằ","Ắ","Ặ","Ẳ","Ẵ", "È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ", "Ì","Í","Ị","Ỉ","Ĩ", "Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ","Ờ","Ớ","Ợ","Ở","Ỡ", "Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ", "Ỳ","Ý","Ỵ","Ỷ","Ỹ", "Đ"); $latin=array("a","a","a","a","a","a","a","a","a","a","a","a","a","a","a","a","a", "e","e","e","e","e","e","e","e","e","e","e", "i","i","i","i","i", "o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o", "u","u","u","u","u","u","u","u","u","u","u", "y","y","y","y","y", "d", "A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A", "E","E","E","E","E","E","E","E","E","E","E", "I","I","I","I","I", "O","O","O","O","O","O","O","O","O","O","O","O","O","O","O","O","O", "U","U","U","U","U","U","U","U","U","U","U", "Y","Y","Y","Y","Y", "D"); $csLatin= str_replace($vietnamese,$latin,$cs); return $csLatin; } 3 Likes Nguyen_Minh_Duc1 (Jiang Xin) January 18, 2017, 3:15am #5 Trước khi truyền chuỗi string để search vào SQL mình cho chuỗi string qua hàm này à bạn? Kollein_Vinh (Kollein Vĩnh) January 18, 2017, 4:05am #6 Nguyen_Minh_Duc1: Trước khi truyền chuỗi string để search vào SQL mình cho chuỗi string qua hàm này à bạn? Nếu câu lệnh SQL của bạn không tìm được chữ có dấu thì bạn làm như sau: Fetch-all các dữ liệu mà bạn muốn tìm trong database rồi dùng hàm convertAlias($row['NAME']) Cũng tương tự với từ khóa nhập vào convertAlias($key_search) Cuối cùng dùng strpos() tìm mẫu A trong mẫu B nếu có xuất hiện thì khớp lệnh (tôi chốt) MORE: Nếu muốn tìm chuyên nghiệp hơn bạn tách $key_search thành nhiều $key con để tìm trong trường hợp người ta nhập từ khóa sai chính tả chẳng hạn Nguyen_Minh_Duc1 (Jiang Xin) January 19, 2017, 3:31pm #7 Như vậy có quá tốn bộ nhớ không? rongthhieng1 (nguoi_vui_tinh_thich_vi_tinh_luon_het_minh_vi_gia_dinh) January 19, 2017, 4:37pm #8 Tùy bên server nào thôi, giống như bên SQL Server thì nó có cách tìm có riêng nó, config là được, ko cần viết code, cứ %hong% là tự động ra có dấu vs ko dấu hết hoangnttm (Hoàng Nguyễn) August 23, 2018, 7:04am #9 Bạn đang sử dụng database server nào? Nếu SQL SERVER chỉ cần cấu hình cột trong database là xong thôi. CÁCH LÀM: Khi chúng ta tạo mới một Database (DB) thì thuộc tính Collation của DB mặc định là “Vietnamese_CI_AS”. Theo đó, các cột của bảng có kiểu dữ liệu thuộc một trong các kiểu char, nchar, varchar, nvarchar, text, ntext cũng có thuộc tính Collation là “Vietnamese_CI_AS”. (Như vậy, DB và các Table đều có thuộc tính Collation của riêng nó). Việc chúng là cần làm là thiết lập cho thuộc tính Collation của các cột của bảng cần tìm kiếm toàn văn một giá trị thích hợp. Ở đây mình chọn giá trị “SQL_Latin1_General_CP1_CI_AI”. Trong SQL Server Management Studio, chọn bảng cần làm việc, nhấp phải chuột chọn Modify, tìm đến cột cần làm việc (tức cột sau này cần tìm kiếm toàn văn, ví dụ cột tên, cột địa chỉ, …) bằng cách nhập chuột vào đó. Trong của sổ Column Properties tương ứng với cột chọn, tìm đến thuộc tính Collation, nó đang ở chế độ mặc định thì sẽ có dòng chữ “”. Nhấp chuột vào nút … bên phải, trong hộp thoại hiện ra, chọn Sql Collation thay vì Windows Collation. Trong combobox, chọn giá trị “SQL_Latin1_General_CP1_CI_AI” cho Sql Collation. Xong nhập OK để kết thúc. Công việc đã xong, các bạn hãy thử vài truy vấn để kiểm tra nhé. LƯU Ý: Để nhẹ nhàng hơn, khỏi phải mất công tìm giá trị “SQL_Latin1_General_CP1_CI_AI” trong combobox cho thuộc tính Collation thì các bạn có thể làm như sau: Trước hết, thiết lập thuộc tính Collation cho DB có giá trị “SQL_Latin1_General_CP1_CI_AI”. Nhấp chuột phải vào DB, chọn Properties, trong hộp thoại Database Properties hiện ra, nhấp chuột vào Options ở bên trái hộp thoại, mục Collation hiện ra bên phải, chọn giá trị “SQL_Latin1_General_CP1_CI_AI” trong combobox, xong nhấp OK để kết thúc. Tiếp theo, bây giờ vẫn phải vào thiết lập thuộc tính Collation cho các cột cần tìm kiếm toàn văn trong các bảng như trên. Tuy nhiên, trong hộp thoại Column Properties, các bạn không cần phải chọn Sql Collation, không phải tìm đến giá trị “SQL_Latin1_General_CP1_CI_AI” trong combobox nữa, mà các bạn chỉ cần nhập vào nút “Restore Default” là xong. LỜI KHUYÊN: Nếu ngay từ ban đầu, khi mới tạo DB mà chưa có Table nào, nếu DB được thiết lập thuộc tính Collation có giá trị “SQL_Latin1_General_CP1_CI_AI” thì khi tạo các bảng, các cột (có kiểu dữ liệu thuộc một trong các kiểu đã nói ở trên) sẽ mặc định theo thuộc tính Collation của DB là “SQL_Latin1_General_CP1_CI_AI”. Do đó, nếu xác định ứng dụng (kể cả software, website nói chung) có thể có sử dụng tìm kiếm toàn văn (mà thông thường là vậy) thì ngay từ khi tạo mới DB, hãy thiết lập thuộc tính Collation chó DB để sau này khỏi mất công thiết lập cho từng cột trong các bảng như vậy. Link gốc: http://diendan.congdongcviet.com/threads/t78345::tim-kiem-toan-van-trong-sql-server.cpp DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Tìm Kiếm Có Dấu Trong Sql Server Tìm Kiếm Tiếng Việt Không Dấu Trong SQL Server - Viblo Cách Viết điều Kiện Với Giá Trị Có Dấu Tiếng Việt Trong SQL Server ... Tìm Kiếm Dữ Liệu Tiếng Việt Có Dấu Trong Sql Như Thế Nào? [SQLSERVER] Hướng Dẫn Cách Tìm Tiếng Việt Không ... [SQLSERVER] Hướng Dẫn Cách Tìm Tiếng Việt ... - Lập Trình VB.NET Tìm Kiếm Gần đúng Trong SQL Server | How Kteam Lỗi Tìm Kiếm Dấu Trong Sql - Thủ Thuật Access Điều Kiện LIKE Trong SQL Server LIKE Trong SQL Server Sửa Các Câu Lệnh SQL để Tinh Chỉnh Kết Quả Truy Vấn Câu Lệnh Tìm Kiếm Trong Sql Cách Viết điều Kiện Lọc Dữ Liệu Với Giá Trị Có Dấu Tiếng Việt Trong ... Cách Tìm Kiếm Có Dấu Trên Mysql - Search Utf8 On Mysql - Kipalog