Có một lệnh MySQL để chuyển đổi một chuỗi thành chữ thường?


123

Tôi có một cơ sở dữ liệu MySQL về các từ khóa hiện đang được trộn lẫn. Tuy nhiên, tôi muốn chuyển đổi tất cả chúng thành chữ thường. Có một lệnh dễ dàng để làm điều này, bằng cách sử dụng MySQL hoặc MySQL và PHP?


Tôi đoán bạn cũng đang sử dụng một bãi chứa từ một người bạn nghĩ rằng đó là một ý tưởng tốt để lưu trữ tên người dùng với các chữ cái viết hoa.
Trâu

Câu trả lời:


248
UPDATE table SET colname=LOWER(colname);

nếu đối chiếu của một cột được đặt thành ascii_bin, điều này sẽ không tự động chuyển đổi mọi thứ thành chữ thường hay tôi nhầm?
oldboy

28

Có, hàm là LOWER () hoặc LCASE () (cả hai đều làm cùng một thứ).

Ví dụ:

select LOWER(keyword) from my_table


9

Bạn có thể sử dụng các hàm LOWER () hoặc LCASE ().

Chúng có thể được sử dụng cả trên cột hoặc chuỗi ký tự. ví dụ

SELECT LOWER(column_name) FROM table a;

hoặc là

SELECT column_name FROM table a where column = LOWER('STRING')

LCASE () có thể được thay thế cho LOWER () trong cả hai ví dụ.



1

Đơn giản chỉ cần sử dụng:

UPDATE `tablename` SET `colnameone`=LOWER(`colnameone`);  

hoặc là

UPDATE `tablename` SET `colnameone`=LCASE(`colnameone`);

Cả hai chức năng sẽ hoạt động như nhau.


0

Thật thú vị khi lưu ý rằng tên trường được đổi tên và nếu bạn tham chiếu nó trong một hàm, bạn sẽ không nhận được giá trị của nó trừ khi bạn đặt cho nó một bí danh (đó có thể là tên riêng của nó)

Ví dụ: Tôi sử dụng hàm để tự động lấy giá trị tên trường:

function ColBuilder ($field_name) {

While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}

}

truy vấn của tôi là: CHỌN LOWER (itemID), Vv ..

cần được thay đổi thành: CHỌN LOWER (itemID) là itemID , Vv , v.v.


Điều này không giống như một câu trả lời, hay?
Người ăn kiêng Meemken

nó hoàn thành câu trả lời, cảnh báo rằng việc sử dụng LOWER () trong các tình huống cụ thể có thể không cung cấp kết quả mong đợi mà không có bí danh bổ sung.
HD FrenchFeast

-3

sử dụng LOWERchức năng để chuyển đổi dữ liệu hoặc chuỗi trong trường hợp thấp hơn.

select LOWER(username) from users;

hoặc là

select * from users where LOWER(username) = 'vrishbh';

6
Điều này thêm gì mà không có trong câu trả lời năm tuổi ?
Andrew

-6

Tôi tin vào php bạn có thể sử dụng

strtolower() 

vì vậy bạn có thể tạo một php để đọc tất cả các mục trong bảng sau đó sử dụng lệnh đó để in lại chúng dưới dạng chữ thường


OP yêu cầu MySQL hoặc MySQL / PHP.
starryknight64
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.