【问题标题】:Mysql Sort Split Character StringMysql排序拆分字符串
【发布时间】:2014-02-18 15:50:33
【问题描述】:

我有下表,比如 MyDRAW

DRAWNO   PRIZENO
A123/14  8458

我设法使用 SUBSTRING 函数将 PRIZENO 拆分为 4 个字符,8 4 5 8

SUBSTRING(PRIZENO, 1, 1) AS FIRSTNo,
SUBSTRING(PRIZENO, 2, 1) AS SECONDNo,
SUBSTRING(PRIZENO, 3, 1) AS THIRDNo,
SUBSTRING(PRIZENO, 2, 1) AS FOURTHNo,

但是,我的问题是如何将这个数字排序到他们的顺序 ASC 中,例如:4 5 8 8

因此,排序后,我的Select结果可以如下:

DRAWNO  PRIZENO FIRSTNo SECONDNo THIRDNo FOURTHNO SORTED1 SORTED2 SORTED3 SORTED4
A123/14 8458    8       4        5       8        4       5       8       8

谢谢。

【问题讨论】:

  • 您是否再次尝试将数字排序或连接成一个完整的数字?
  • 我想要 PRIZENO(完整)、拆分 PRIZENo(原样)和拆分 PRIZENo(已排序)
  • 有人可以帮忙吗?我想知道 STRCMP 函数可以帮助 IF 函数。还在想这个

标签: mysql string sorting split


【解决方案1】:

No Choice,我不确定是否有任何好的/更好的方法......

我确实喜欢这个...

CONCAT(
IF(SUBSTRING(PRIZENO, 1, 1)=0,"0",""),
IF(SUBSTRING(PRIZENO, 2, 1)=0,"0",""),
IF(SUBSTRING(PRIZENO, 3, 1)=0,"0",""),
IF(SUBSTRING(PRIZENO, 4, 1)=0,"0",""),
IF(SUBSTRING(PRIZENO, 1, 1)=1,"1",""),
IF(SUBSTRING(PRIZENO, 2, 1)=1,"1",""),
IF(SUBSTRING(PRIZENO, 3, 1)=1,"1",""),
IF(SUBSTRING(PRIZENO, 4, 1)=1,"1",""),
IF(SUBSTRING(PRIZENO, 1, 1)=2,"2",""),
IF(SUBSTRING(PRIZENO, 2, 1)=2,"2",""),
IF(SUBSTRING(PRIZENO, 3, 1)=2,"2",""),
IF(SUBSTRING(PRIZENO, 4, 1)=2,"2",""),
IF(SUBSTRING(PRIZENO, 1, 1)=3,"3",""),
IF(SUBSTRING(PRIZENO, 2, 1)=3,"3",""),
IF(SUBSTRING(PRIZENO, 3, 1)=3,"3",""),
IF(SUBSTRING(PRIZENO, 4, 1)=3,"3",""),
IF(SUBSTRING(PRIZENO, 1, 1)=4,"4",""),
IF(SUBSTRING(PRIZENO, 2, 1)=4,"4",""),
IF(SUBSTRING(PRIZENO, 3, 1)=4,"4",""),
IF(SUBSTRING(PRIZENO, 4, 1)=4,"4",""),
IF(SUBSTRING(PRIZENO, 1, 1)=5,"5",""),
IF(SUBSTRING(PRIZENO, 2, 1)=5,"5",""),
IF(SUBSTRING(PRIZENO, 3, 1)=5,"5",""),
IF(SUBSTRING(PRIZENO, 4, 1)=5,"5",""),
IF(SUBSTRING(PRIZENO, 1, 1)=6,"6",""),
IF(SUBSTRING(PRIZENO, 2, 1)=6,"6",""),
IF(SUBSTRING(PRIZENO, 3, 1)=6,"6",""),
IF(SUBSTRING(PRIZENO, 4, 1)=6,"6",""),
IF(SUBSTRING(PRIZENO, 1, 1)=7,"7",""),
IF(SUBSTRING(PRIZENO, 2, 1)=7,"7",""),
IF(SUBSTRING(PRIZENO, 3, 1)=7,"7",""),
IF(SUBSTRING(PRIZENO, 4, 1)=7,"7",""),
IF(SUBSTRING(PRIZENO, 1, 1)=8,"8",""),
IF(SUBSTRING(PRIZENO, 2, 1)=8,"8",""),
IF(SUBSTRING(PRIZENO, 3, 1)=8,"8",""),
IF(SUBSTRING(PRIZENO, 4, 1)=8,"8",""),
IF(SUBSTRING(PRIZENO, 1, 1)=9,"9",""),
IF(SUBSTRING(PRIZENO, 2, 1)=9,"9",""),
IF(SUBSTRING(PRIZENO, 3, 1)=9,"9",""),
IF(SUBSTRING(PRIZENO, 4, 1)=9,"9","")) AS CON1, 

【讨论】:

    猜你喜欢
    • 2015-01-01
    • 1970-01-01
    • 2017-11-23
    • 2018-05-26
    • 2011-09-03
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多