mysql中的自动concat字符串长度如何选择
但是,有没有其他方法可以将concat c1的c1代码简化为中间为零的结果,并自动计算必须添加多少个零?看看。这里可能有一个数学函数可以帮助您,尽管我不知道它是否更快 让我们看看。您需要将c1的单个值乘以1000000,然后将c2相加。 对于更一般的情况,您需要乘以mysql中的自动concat字符串长度如何选择,mysql,string,if-statement,concat,Mysql,String,If Statement,Concat,但是,有没有其他方法可以将concat c1的c1代码简化为中间为零的结果,并自动计算必须添加多少个零?看看。这里可能有一个数学函数可以帮助您,尽管我不知道它是否更快 让我们看看。您需要将c1的单个值乘以1000000,然后将c2相加。 对于更一般的情况,您需要乘以 ex. c1, c2 = > result c1 c1 result 1 1 to 1000001 2 9 to 2000009
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` )))))
更多:
你的最终价值将是
1000000 / 10^(char_length(`c1`)-1)
但是@eumiro的LPAD函数可能是一个更好的答案只是尝试了一下,但是如果你有一个包含数字字符串的“文本”字段,你可以使用它进行计算。正如在你问题的第一条评论中所说,你可以/应该开始接受答案。如果您认为这是一个好的解决方案,请按绿色的“复选”标记。不仅是这个答案,还回答了前面的问题。@Paisal-你看到答案左上角附近的复选标记了吗?参见下图:
(c1 * (1000000 / 10^(char_length(`c1`)-1))) + c2