【问题标题】:MySQL Concat (Length) with AliasMySQL Concat(长度)与别名
【发布时间】:2015-10-19 07:48:24
【问题描述】:

我一直在将一个选择查询格式化为一个具有设定长度的巨型字符串:

SELECT DISTINCT 
    CONCAT(CONCAT(ulname,SPACE(15-LENGTH(ulname))))
FROM users WHERE ulname = 'Test'

但是可以用空白别名做同样的事情吗?如果我这样做

Select '' AS CustomerID 

我不完全确定我会如何设置间距。会不会像

CONCAT('' AS CustomerID, SPACE(10 - LENGTH(CustomerID)))?

【问题讨论】:

    标签: mysql alias concat


    【解决方案1】:

    也许你正在寻找这样的东西:

    SELECT DISTINCT 
        LEFT(CONCAT(ulname,SPACE(15)),15)
    FROM test 
    WHERE ulname = 'test';
    

    【讨论】:

    • 我想连接 '' AS CustomerID 并有长度限制。我对其他领域的 concat 似乎没问题
    • 这应该适用于您的所有字段,包括单个空格值。
    • @CD 请运行上面的查询并将其粘贴到记事本++或其他东西以检查输出字符串的长度。
    • 啊,对不起。我把它送回记事本,然后就没事了。如果我可以再问一件事?我能以同样的方式更正演员表的长度吗?我不确定如何格式化查询。 (即 CASE a.status WHEN '0' THEN 'A' WHEN 1' THEN 'T' END AS 'Status')
    • 绝对!您需要用上面的函数包装 case 语句:LEFT(CONCAT(CASE WHEN STATEMENT,SPACE(15)),15)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 2011-11-23
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多