gpt4 book ai didi

mysql - 如何在mysql select中自动连接字符串长度

转载 作者:行者123 更新时间:2023-11-29 09:13:27 24 4
gpt4 key购买 nike



ex. c1, c2 = > result

c1 c1 result
1 1 to 1000001
2 9 to 2000009
3 1 to 3000001
21 34 to 2100034
22 35 to 2200035
23 55 to 2300055
111 1234 to 1111234
112 8392 to 1128392
113 2833 to 1132833


a part of my MySQL SELECT CONCAT() statement with cut out "c1" look like,


IF(CHAR_LENGTH(`c2`)=1, concat('00000',`c2`),
IF(CHAR_LENGTH(`c2`)=2, concat('0000',`c2`),
IF(CHAR_LENGTH(`c2`)=3, concat('000',`c2`),
IF(CHAR_LENGTH(`c2`)=4, concat('00',`c2`),
IF(CHAR_LENGTH(`c2`)=5, concat('0',`c2`),`c2` )))))

但是有没有其他方法可以将 concat c1 与 c1 的代码减少为中间有零的结果,并自动计算必须添加多少个零?

最佳答案

这里可能有一个数学函数可以帮助您,尽管我不知道它是否更快。

让我们看看。您想要将 c1 的单个值乘以 1000000,然后加上 c2。对于更一般的情况,您需要乘以

  1000000 / 10^(char_length(`c1`)-1)

更多:您的最终值将是

(c1 *  (1000000 / 10^(char_length(`c1`)-1))) + c2

但是 @eumiro 的 LPAD 函数可能是更好的答案

关于mysql - 如何在mysql select中自动连接字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com