bozong
V2EX  ›  问与答

请教一个 SQL 问题、麻烦大家了。

  •  
  •   bozong · Jul 8, 2016 · 2209 views
    This topic created in 3781 days ago, the information mentioned may be changed or developed.
    13 replies  •  2016-07-08 16:08:52 +08:00
    bozong
    bozong
    OP
    Jul 8, 2016
    1

    SendTo 这个字段的结果是逗号分隔了的。我想输出为 "18657663816","15926404606","13854548585" 这样。
    注: SendTo 字段的内容有可能是多个( 15613565625 , 15956568585 )、也有可能只有一个( 15656568585 )
    bozong
    bozong
    OP
    Jul 8, 2016
    2
    .
    hgc81538
    hgc81538
    Jul 8, 2016
    3
    '"' + '18657663816,15926404606,13854548585'.split(',').join('","') + '"';
    ooTwToo
    ooTwToo
    Jul 8, 2016
    5
    "18657663816,15926404606,13854548585".replace(/,/g,'","')
    kaner
    kaner
    Jul 8, 2016
    6
    顺便问一下,这样做好么? 我一般都是程序去分割。
    pelloz
    pelloz
    Jul 8, 2016
    7
    我怎么觉得正确的用法应该是在代码里面处理而不是 SQL 上处理咧
    bozong
    bozong
    OP
    Jul 8, 2016
    8
    @icemanpro
    @ooTwToo
    @hgc81538 感谢你们
    bozong
    bozong
    OP
    Jul 8, 2016
    9
    @pelloz 也对、在代码去数组遍历
    bozong
    bozong
    OP
    Jul 8, 2016
    10
    @kaner 遍历
    bugsnail
    bugsnail
    Jul 8, 2016
    11
    @ooTwToo 按照你这个方法的话, 头和尾还要加上引号

    楼主如果用 PHP 为后台的话, 可以用 explode()函数处理。

    如果要用 sql 解决的话, 不知道有什么目的要这样的字符串输出
    bozong
    bozong
    OP
    Jul 8, 2016
    12
    @bugsnail 用的 C#
    ayumilove
    ayumilove
    Jul 8, 2016
    13
    补上 Oracle 的
    select '"'||replace('18657663816,15926404606,13854548585',',','","')||'"' from dual;
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2054 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 681ms · UTC 03:08 · PVG 11:08 · LAX 19:08 · JFK 22:08
    ♥ Do have faith in what you're doing.