2013-03-27 69 views
8

Tôi cố gắng để chọn tên cột từ một bảng cụ thể, nơi mà các tên bảng là như '98.673'MySQL Giống như tuyên bố trong SELECT column_name

Vì vậy, tôi đang sử dụng này:

SELECT 
    column_name 
FROM 
    information_schema.columns 
WHERE 
    table_name='lime_survey_98673' 
    AND column_name LIKE '98673' 

Tuy nhiên điều này sẽ không dẫn đến bất kỳ dữ liệu nào. Mặc dù tôi có tên cột với '98673Blah' trong đó.

Tôi biết tôi phải làm điều gì đó sai, nhưng cái gì ??

Trả lời

8

Đối với NHƯ bạn phải thêm một ký tự đại diện%, vì vậy:

SELECT 
    column_name 
FROM 
    information_schema.columns 
WHERE 
    table_name='lime_survey_98673' 
    AND column_name LIKE '98673%' 
+0

vĩ đại tôi đã nhìn ra rằng thực sự! – BonifatiusK

4

SỬ DỤNG %

SELECT column_name 
FROM information_schema.columns 
WHERE table_name='lime_survey_98673' 
AND column_name LIKE '%98673%' 

% chỉ một ký tự đại diện và trả về bất kỳ column_name chứa 98673

1

Bạn cần phải thêm %

SELECT 
    column_name 
FROM 
    information_schema.columns 
WHERE 
    table_name='lime_survey_98673' 
    AND column_name LIKE '%98673%' 

điều này có nghĩa rằng column_name chứa 98673.

2

Hãy thử nó mà không cần phần AND column_name LIKE '98673' trừ khi bạn thực sự cần nó hay:

SELECT column_name 
FROM information_schema.columns 
WHERE table_name LIKE '%lime_survey_98673%' 
-- AND column_name LIKE '%98673%' // only if needed 

Để biết thêm thông tin hãy xem tại tài liệu cho:

0

Tôi nghĩ rằng bạn cần phải thêm ký tự đại diện với tên bảng cũng có.

SELECT 
    column_name, 
    table_name 
FROM 
    information_schema.columns 
WHERE 
    schema_name = 'db_name' 
    AND table_name='%98673%' 
    AND column_name LIKE '%98673%' 

Bằng cách này, bạn có thể nhận tên cột liệt kê tất cả các bảng và có tên cột chứa văn bản như '98673' từ cơ sở dữ liệu hoặc lược đồ cụ thể.

1

Người ta có thể làm theo cách này quá:

show columns from lime_survey_98673 like '%98673%'; 
+0

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế). - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17965187) –

0

sử dụng truy vấn này

SHOW COLUMNS FROM `table_name` LIKE 'coloums_name'; 
Các vấn đề liên quan