我有幾個表格有MySQL database
中稱爲LastName
的公共字段(列)。這些表格中的幾行是混合使用的,因此在執行SELECT
時不會被正確選擇。更新SQL中的字段
如何將這些列轉換爲所有大寫?我可以輕鬆處理任何新條目以將它們轉換爲大寫,但我不確定的現有記錄。
我有幾個表格有MySQL database
中稱爲LastName
的公共字段(列)。這些表格中的幾行是混合使用的,因此在執行SELECT
時不會被正確選擇。更新SQL中的字段
如何將這些列轉換爲所有大寫?我可以輕鬆處理任何新條目以將它們轉換爲大寫,但我不確定的現有記錄。
這會工作:
UPDATE table_name SET `column_name` = UPPER(`column_name`)
會做的工作
update table set LastName=UPPER(LastName);
注意 - 如果你是從MySQL工作臺運行,您可能必須禁用安全模式或添加一個where子句(如WHERE ID> 0),否則它不會運行。
您可以使用字符串函數UPPER()
使列值上
update Your_table set LastName=UPPER(LastName)
你已經有了下面的答案,但你也可以添加WHERE姓氏<> UPPER(LastName)保持事務大小。 – jarlh
@jarlh:我只是想添加相同的評論 - 但有一點需要注意的是,這可能會影響大表的查詢速度。 – PaulF
MySQL是否支持排序?在這種情況下,我寧願將列更改爲不區分大小寫的排序規則,這意味着名稱會以enterd的形式存儲,但搜索不區分大小寫。 – jarlh