第一个字母大写。 MySQL
有谁知道 MySQL 用语中 TSQL 的等价物吗?
我试图将每个条目的第一个字母大写。
UPDATE tb_Company SET CompanyIndustry = UPPER(LEFT(CompanyIndustry, 1))
+ SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))
Does any one know the equivalent to this TSQL in MySQL parlance?
I am trying to capitalize the first letter of each entry.
UPDATE tb_Company SET CompanyIndustry = UPPER(LEFT(CompanyIndustry, 1))
+ SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
几乎是一样的,您只需更改为使用 CONCAT() 函数而不是 + 运算符:
这会将
hello
变为Hello
、wOrLd 到
WOrLd
、BLABLA
到BLABLA
等。如果您想将第一个字母大写,另一个字母小写,您可以只需使用 LCASE 函数:请注意,UPPER 和 UCASE 执行相同的操作。
It's almost the same, you just have to change to use the CONCAT() function instead of the + operator :
This would turn
hello
toHello
,wOrLd
toWOrLd
,BLABLA
toBLABLA
, etc. If you want to upper-case the first letter and lower-case the other, you just have to use LCASE function :Note that UPPER and UCASE do the same thing.
Vincents 对大写第一个字母的出色回答非常适合整个列字符串的第一个字母仅大写。
但是如果您想将第一个字母大写怎么办表列字符串中的每个单词?
例如:“Abbeville High School”
我在 Stackoverflow 中没有找到这个问题的答案。我必须拼凑在谷歌中找到的一些答案,才能为上述示例提供可靠的解决方案。它不是本机函数,而是 MySQL 5+ 版本允许的用户创建的函数。
如果您在 MySQL 上具有超级/管理员用户状态,或者在您自己的计算机上安装了本地 mysql,您可以创建一个函数(如存储过程),该函数位于您的数据库中,并且可以在未来的任何部分的所有 SQL 查询中使用。数据库。
我创建的函数允许我使用这个我称为“UC_Words”的新函数,就像 MySQL 内置的本机函数一样,这样我就可以像这样更新完整的列:
为了插入函数代码,我更改了 MySQL 标准分隔符(; )同时创建函数,然后在函数创建脚本后将其重置回正常状态。我个人也希望输出采用 UTF8 CHARSET 格式。
函数创建 =
这可以在字符串中的多个单词上输出大写首字母。
假设您的 MySQL 登录用户名有足够的权限 - 如果没有,并且您无法在您的个人计算机上设置临时数据库来转换您的表,那么请询问您的共享托管提供商是否会为您设置此功能。
Vincents excellent answer for Uppercase First Letter works great for the first letter only capitalization of an entire column string..
BUT what if you want to Uppercase the First Letter of EVERY word in the strings of a table column?
eg: "Abbeville High School"
I hadn't found an answer to this in Stackoverflow. I had to cobble together a few answers I found in Google to provide a solid solution to the above example. Its not a native function but a user created function which MySQL version 5+ allows.
If you have Super/Admin user status on MySQL or have a local mysql installation on your own computer you can create a FUNCTION (like a stored procedure) which sits in your database and can be used in all future SQL query on any part of the db.
The function I created allows me to use this new function I called "UC_Words" just like the built in native functions of MySQL so that I can update a complete column like this:
To insert the function code, I changed the MySQL standard delimiter(;) whilst creating the function, and then reset it back to normal after the function creation script. I also personally wanted the output to be in UTF8 CHARSET too.
Function creation =
This works a treat outputting Uppercase first letters on multiple words within a string.
Assuming your MySQL login username has sufficient privileges - if not, and you cant set up a temporary DB on your personal machine to convert your tables, then ask your shared hosting provider if they will set this function for you.
您可以结合使用
UCASE()
、MID()
和CONCAT()
:You can use a combination of
UCASE()
,MID()
andCONCAT()
:http://dev.mysql.com/doc/refman/5.0/en/ string-functions.html#function_mid
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_mid
这工作得很好。
This is working nicely.
http://forge.mysql.com/tools/tool.php?id= 201
如果该列中有超过 1 个单词,那么这将不起作用,如下所示。
上面提到的 UDF 在这种情况下可能会有所帮助。
或者也许这个会有所帮助...
https://github.com/mysqludf/lib_mysqludf_str#str_ucwords
http://forge.mysql.com/tools/tool.php?id=201
If there are more than 1 word in the column, then this will not work as shown below.
The UDF mentioned above may help in such case.
Or maybe this one will help...
https://github.com/mysqludf/lib_mysqludf_str#str_ucwords
创建函数:
使用函数
CREATE A FUNCTION:
USE THE FUNCTION
这应该可以很好地工作:
This should work nicely:
上述语句首字母大写,其余字母小写。
Above statement can be used for first letter CAPS and rest as lower case.
PostgreSQL 中的解决方案(就谷歌搜索可能会导致此页面)
The solution in PostgreSQL (as far as googling may lead to this page)
Uso 算法简化了 assim ;)
Uso algo simples assim ;)