mysql怎么批量替换首字符?

mysql怎么批量替换首字符?,第1张

题主你好,

使用regexp_replace函数替代replace函数即可实现.

代码及测试截图如下:

*.测试是的是我自己的表,按照你问题中的参数来说, 将语句改为:

    update ab set name=regexp_replace(cd, '^t', 'T')

-----

希望可以帮到题主, 欢迎追问.

function getFirstCharter($str){

if(empty($str)){return ''}

$fchar=ord($str{0})

if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0})

$s1=iconv('UTF-8','gb2312',$str)

$s2=iconv('gb2312','UTF-8',$s1)

$s=$s2==$str?$s1:$str

$asc=ord($s{0})*256+ord($s{1})-65536

echo $asc

if($asc>=-20319&&$asc<=-20284) return 'A'

if($asc>=-20283&&$asc<=-19776) return 'B'

if($asc>=-19775&&$asc<=-19219) return 'C'

if($asc>=-19218&&$asc<=-18711) return 'D'

if($asc>=-18710&&$asc<=-18527) return 'E'

if($asc>=-18526&&$asc<=-18240) return 'F'

if($asc>=-18239&&$asc<=-17923) return 'G'

if($asc>=-17922&&$asc<=-17418) return 'H'

if($asc>=-17417&&$asc<=-16475) return 'J'

if($asc>=-16474&&$asc<=-16213) return 'K'

if($asc>=-16212&&$asc<=-15641) return 'L'

if($asc>=-15640&&$asc<=-15166) return 'M'

if($asc>=-15165&&$asc<=-14923) return 'N'

if($asc>=-14922&&$asc<=-14915) return 'O'

if($asc>=-14914&&$asc<=-14631) return 'P'

if($asc>=-14630&&$asc<=-14150) return 'Q'

if($asc>=-14149&&$asc<=-14091) return 'R'

if($asc>=-14090&&$asc<=-13319) return 'S'

if($asc>=-13318&&$asc<=-12839) return 'T'

if($asc>=-12838&&$asc<=-12557) return 'W'

if($asc>=-12556&&$asc<=-11848) return 'X'

if($asc>=-11847&&$asc<=-11056) return 'Y'

if($asc>=-11055&&$asc<=-10247) return 'Z'

return null

}

echo getFirstCharter('李')

删除firstkey的第一个字符,就可以理解为从第二个字符取到结束,然后来个update就行了。

楼上你这样写可能会出错。因为过firstkey的长度是len(firstkey),你现在要从第二位取,且还是len(firstkey)这么个长度,那最后一个字符就有可能出错。

最好改为:

update

set

firstkey=substring(firstkey,2,len(firstkey)-1)

where

pro='机械系'

and

class='数学'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7249610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存