我有多个在数据库表中写入数据的Web服务。 对于特定字段,我想自动将大写字符串转换为小写字符串。 是否有任何mysql函数执行此任务?
假设这是表格:
id | name | language
有时,在语言字段中,Web服务会写一个大写字符串(IT)。 我想将它直接转换为小写字符串(“it”),直接在MySQL内部。
感谢
答案 0 :(得分:20)
在桌子上定义triggers:
CREATE TRIGGER lcase_insert BEFORE INSERT ON my_table FOR EACH ROW
SET NEW.language = LOWER(NEW.language);
CREATE TRIGGER lcase_update BEFORE UPDATE ON my_table FOR EACH ROW
SET NEW.language = LOWER(NEW.language);
然后更新现有数据:
UPDATE my_table SET language = LOWER(language);
答案 1 :(得分:2)
你可以使用:
LOWER("some_string");
请参阅:LOWER
你的意思是这样的......
添加了: 您可以在表中插入数据时转换为小写,例如:
INSERT INTO your_table (name, language)
VALUES ( "Some Name", LOWER( "SOME VALUE" ) );
或者更好的解决方案是在插入db之前,将要插入语言字段的值转换为服务器端脚本中的小写。
你可以使用triggers进行自动转换,但我建议在从表中获取数据时使用LOWER()函数,例如:
SELECT LOWER(language) AS language FROM your_table_name