建大网站,团购网站制作,在线网站建设者,免费建手机网站用mysql的说法#xff0c;有人知道这个tsql的等价物吗#xff1f;我正试图把每个条目的第一个字母大写。UPDATE tb_Company SET CompanyIndustry UPPER(LEFT(CompanyIndustry, 1)) SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))几乎是一样的#xff0c;只需更改即可…用mysql的说法有人知道这个tsql的等价物吗我正试图把每个条目的第一个字母大写。UPDATE tb_Company SET CompanyIndustry UPPER(LEFT(CompanyIndustry, 1)) SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))几乎是一样的只需更改即可使用concat()函数而不是运算符UPDATE tb_CompanySET CompanyIndustry CONCAT(UCASE(LEFT(CompanyIndustry, 1)),SUBSTRING(CompanyIndustry, 2));这将使hello变为hellowOrLd变为wOrLdBLABLA变为BLABLA等如果你想把第一个字母大写另一个字母小写你只需要使用lcase函数UPDATE tb_CompanySET CompanyIndustry CONCAT(UCASE(LEFT(CompanyIndustry, 1)),LCASE(SUBSTRING(CompanyIndustry, 2)));注意upper和ucase做同样的事情。谢谢-那是我需要的。我忘了说我需要先设置小写。谢谢很有效太好了谢谢 Vincent文森特对大写第一个字母的完美回答对于整个列字符串的第一个字母大写效果很好。但是如果您想将表列字符串中每个单词的第一个字母大写怎么办例如阿贝维尔高中我在StackOverflow中没有找到答案。我不得不拼凑出一些我在谷歌找到的答案为上面的例子提供一个可靠的解决方案。它不是一个本机函数而是一个用户创建的函数MySQL5版允许这样做。如果您在mysql上有super/admin用户状态或者在自己的计算机上安装了本地mysql那么您可以创建一个函数(如存储过程)该函数位于数据库中并且可以在将来对数据库的任何部分使用SQL查询。我创建的函数允许我使用这个我称为uc-words的新函数就像mysql内置的本机函数一样这样我就可以更新一个完整的列如下所示UPDATE Table_nameSET column_name UC_Words(column_name)为了插入函数代码我在创建函数时更改了MySQL标准分隔符()然后在函数创建脚本之后将其重置为正常值。我个人也希望输出也是utf8字符集。函数创建这是一种在字符串中多个单词上输出大写首字母的处理方法。假设您的MySQL登录用户名有足够的权限(如果没有)并且您无法在个人计算机上设置临时数据库来转换表那么请询问共享宿主提供程序是否将为您设置此功能。CHARSET utf8_general_ci应改为CHARSET utf8(至少在5.7上)manueldallana实际上您可能会得到错误Illegal mix of collations for operation concat所以我认为只需修复或删除该字符集并使其默认。您可以使用UCASE()、MID()和CONCAT()的组合SELECT CONCAT(UCASE(MID(name,1,1)),MID(name,2)) AS name FROM names;这不会降低所有其他字母。试试SELECT CONCAT(UCASE(MID(TEST,1,1)),MID(TEST,2));。mysql SELECT schedule_type AS Schedule FROM ad_campaign limit 1;----------| Schedule |----------| ENDDATE |----------1 row in set (0.00 sec)mysql SELECT CONCAT(UCASE(MID(schedule_type,1,1)),LCASE(MID(schedule_type,2))) AS Schedule FROM ad_campaign limit 1;----------| Schedule |----------| Enddate |----------1 row in set (0.00 sec)http://dev.mysql.com/doc/refman/5.0/en/string-functions.html函数midhttp://forge.mysql.com/tools/tool.phpID201如果列中有超过1个单词则此操作将不起作用如下所示。在这种情况下上述UDF可能会有所帮助。mysql select * from names;--------------| name |--------------| john abraham |--------------1 row in set (0.00 sec)mysql SELECT CONCAT(UCASE(MID(name,1,1)),MID(name,2)) AS name FROM names;--------------| name |--------------| John abraham |--------------1 row in set (0.00 sec)或者这个会有帮助…https://github.com/mysqludf/lib_mysqludf_str_str_ucwords这很管用。UPDATE state SET name CONCAT(UCASE(LEFT(name, 1)),LCASE(SUBSTRING(name, 2)));If anyone try to capitalize the every word separate by space...Result--------------| name |--------------| Abdul Karim |--------------创建函数CREATE DEFINERrootlocalhost FUNCTION UC_FIRST(oldWord VARCHAR(255))RETURNS varchar(255) CHARSET utf8RETURN CONCAT( UCASE( LEFT(oldWord, 1)), LCASE(SUBSTRING(oldWord, 2)))使用函数UPDATE tbl_name SET col_name UC_FIRST(col_name);UPDATE tb_Company SET CompanyIndustry UCASE(LEFT(CompanyIndustry, 1)) SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))这不起作用不是mysql的concat操作符。Enrico Pallazzo发布的答案应该很好。我只是想强调mysql中的ucase函数p:)Upper也可以和MySQL一起使用上面的语句可用于第一个字母的大写其余的用作小写。UPDATE usersSET first_name CONCAT(UCASE(LEFT(first_name, 1)),LCASE(SUBSTRING(first_name, 2))),last_name CONCAT(UCASE(LEFT(last_name, 1)),LCASE(SUBSTRING(last_name, 2)));这应该很好地工作UPDATE tb_Company SET CompanyIndustry CONCAT(UPPER(LEFT(CompanyIndustry, 1)), SUBSTRING(CompanyIndustry, 2))uso algo simples assim)DELIMITER $$DROP FUNCTION IF EXISTS uc_frist $$CREATE FUNCTION uc_frist (str VARCHAR(200)) RETURNS varchar(200)BEGINset str: lcase(str);set str: CONCAT(UCASE(LEFT(str, 1)),SUBSTRING(str, 2));set str: REPLACE(str, a, A);set str: REPLACE(str, b, B);set str: REPLACE(str, c, C);set str: REPLACE(str, d, D);set str: REPLACE(str, e, E);set str: REPLACE(str, f, F);set str: REPLACE(str, g, G);set str: REPLACE(str, h, H);set str: REPLACE(str, i, I);set str: REPLACE(str, j, J);set str: REPLACE(str, k, K);set str: REPLACE(str, l, L);set str: REPLACE(str, m, M);set str: REPLACE(str, n, N);set str: REPLACE(str, o, O);set str: REPLACE(str, p, P);set str: REPLACE(str, q, Q);set str: REPLACE(str, r, R);set str: REPLACE(str, s, S);set str: REPLACE(str, t, T);set str: REPLACE(str, u, U);set str: REPLACE(str, v, V);set str: REPLACE(str, w, W);set str: REPLACE(str, x, X);set str: REPLACE(str, y, Y);set str: REPLACE(str, z, Z);return str;END $$DELIMITER ;