日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql delette_关于字符串:首字母大写MySQL

發(fā)布時(shí)間:2024/7/5 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql delette_关于字符串:首字母大写MySQL 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用mysql的說(shuō)法,有人知道這個(gè)tsql的等價(jià)物嗎?

我正試圖把每個(gè)條目的第一個(gè)字母大寫(xiě)。

UPDATE tb_Company SET CompanyIndustry = UPPER(LEFT(CompanyIndustry, 1))

+ SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))

幾乎是一樣的,只需更改即可使用concat()函數(shù)而不是+運(yùn)算符:

UPDATE tb_Company

SET CompanyIndustry = CONCAT(UCASE(LEFT(CompanyIndustry, 1)),

SUBSTRING(CompanyIndustry, 2));

這將使hello變?yōu)閔ello,wOrLd變?yōu)閣OrLd,BLABLA變?yōu)锽LABLA等,如果你想把第一個(gè)字母大寫(xiě),另一個(gè)字母小寫(xiě),你只需要使用lcase函數(shù):

UPDATE tb_Company

SET CompanyIndustry = CONCAT(UCASE(LEFT(CompanyIndustry, 1)),

LCASE(SUBSTRING(CompanyIndustry, 2)));

注意upper和ucase做同樣的事情。

謝謝-那是我需要的。我忘了說(shuō)我需要先設(shè)置小寫(xiě)。謝謝

很有效,太好了!謝謝@ Vincent

文森特對(duì)大寫(xiě)第一個(gè)字母的完美回答對(duì)于整個(gè)列字符串的第一個(gè)字母大寫(xiě)效果很好。

但是,如果您想將表列字符串中每個(gè)單詞的第一個(gè)字母大寫(xiě)怎么辦?

例如:"阿貝維爾高中"

我在StackOverflow中沒(méi)有找到答案。我不得不拼湊出一些我在谷歌找到的答案,為上面的例子提供一個(gè)可靠的解決方案。它不是一個(gè)本機(jī)函數(shù),而是一個(gè)用戶創(chuàng)建的函數(shù),MySQL5+版允許這樣做。

如果您在mysql上有super/admin用戶狀態(tài),或者在自己的計(jì)算機(jī)上安裝了本地mysql,那么您可以創(chuàng)建一個(gè)函數(shù)(如存儲(chǔ)過(guò)程),該函數(shù)位于數(shù)據(jù)庫(kù)中,并且可以在將來(lái)對(duì)數(shù)據(jù)庫(kù)的任何部分使用SQL查詢(xún)。

我創(chuàng)建的函數(shù)允許我使用這個(gè)我稱(chēng)為"uc-words"的新函數(shù),就像mysql內(nèi)置的本機(jī)函數(shù)一樣,這樣我就可以更新一個(gè)完整的列,如下所示:

UPDATE Table_name

SET column_name = UC_Words(column_name)

為了插入函數(shù)代碼,我在創(chuàng)建函數(shù)時(shí)更改了MySQL標(biāo)準(zhǔn)分隔符(;),然后在函數(shù)創(chuàng)建腳本之后將其重置為正常值。我個(gè)人也希望輸出也是utf8字符集。

函數(shù)創(chuàng)建=

這是一種在字符串中多個(gè)單詞上輸出大寫(xiě)首字母的處理方法。

假設(shè)您的MySQL登錄用戶名有足夠的權(quán)限(如果沒(méi)有),并且您無(wú)法在個(gè)人計(jì)算機(jī)上設(shè)置臨時(shí)數(shù)據(jù)庫(kù)來(lái)轉(zhuǎn)換表,那么請(qǐng)?jiān)儐?wèn)共享宿主提供程序是否將為您設(shè)置此功能。

CHARSET utf8_general_ci應(yīng)改為CHARSET utf8(至少在5.7上)

@manueldallana實(shí)際上,您可能會(huì)得到錯(cuò)誤Illegal mix of collations for operation 'concat',所以我認(rèn)為只需修復(fù)或刪除該字符集并使其默認(rèn)。

您可以使用UCASE()、MID()和CONCAT()的組合:

SELECT CONCAT(UCASE(MID(name,1,1)),MID(name,2)) AS name FROM names;

這不會(huì)降低所有其他字母。試試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函數(shù)mid

http://forge.mysql.com/tools/tool.php?ID=201

如果列中有超過(guò)1個(gè)單詞,則此操作將不起作用,如下所示。在這種情況下,上述UDF可能會(huì)有所幫助。

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)

或者這個(gè)會(huì)有幫助…

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 ?|

+--------------+

創(chuàng)建函數(shù):

CREATE DEFINER=`root`@`localhost` FUNCTION `UC_FIRST`(`oldWord` VARCHAR(255))

RETURNS varchar(255) CHARSET utf8

RETURN CONCAT( UCASE( LEFT(oldWord, 1)), LCASE(SUBSTRING(oldWord, 2)))

使用函數(shù)

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發(fā)布的答案應(yīng)該很好。

我只是想強(qiáng)調(diào)mysql中的ucase函數(shù):p:)

Upper也可以和MySQL一起使用

上面的語(yǔ)句可用于第一個(gè)字母的大寫(xiě),其余的用作小寫(xiě)。

UPDATE users

SET 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)));

這應(yīng)該很好地工作:

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)

BEGIN

set 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 ;

總結(jié)

以上是生活随笔為你收集整理的mysql delette_关于字符串:首字母大写MySQL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。