【问题标题】:MySQL View doesn't recognize SELECT REPLACE()MySQL View 无法识别 SELECT REPLACE()
【发布时间】:2013-02-21 18:06:14
【问题描述】:

我被正式难住了。我使用以下代码创建了一个视图:

ALTER VIEW event_view AS
SELECT 
    '3' School_ID
    , P.post_title 'Short_Description'
    , P.post_content 'Description'
    , E.contact_name 'Contact_Name'
    , P.post_type 'Post_Type'
    , DATE( E.start ) 'Start_Date'
    , TIME( E.start ) 'Start_Time'
FROM cm_3_posts P
LEFT OUTER JOIN cm_3_ai1ec_events E
    ON E.post_ID = P.ID
WHERE P.post_status = 'publish'
    AND P.post_type = 'ai1ec_event' 
    AND E.start > NOW() - INTERVAL 30 DAY
    AND E.start < NOW() + INTERVAL 30 DAY

但是,我想从视图的“描述”字段中的数据中删除任何逗号。这个查询似乎应该可以工作,但是当它运行时,结果显示(在 PHPMyAdmin 中)逗号被删除,但是当我重新加载视图时,逗号又回来了。

SELECT REPLACE( Description, ',', '' )
FROM event_view
WHERE Description LIKE '%,%';

我的问题是,如何在我的视图中永久删除“描述”列字段中的逗号?我尝试了很多方法都没有成功。非常感谢。

【问题讨论】:

    标签: mysql replace phpmyadmin views


    【解决方案1】:

    更改视图定义中返回Description 列(即post_content 列)的行。

    替换这个:

    , P.post_content `Description`
    

    有了这个:

    , REPLACE(P.post_content, ',', '' ) AS `Description`
    

    【讨论】:

    • 完美!谢谢!在我尝试过的所有事情中,我不敢相信我之前没有尝试过。现在看来如此明显。你摇滚,如果我有足够的信誉,我会给你的答案打分。
    猜你喜欢
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 2010-12-09
    • 2016-09-04
    相关资源
    最近更新 更多