2013-08-21 75 views
-3

我有一个字段中有成千上万的行,其中很多行包含-作为最后一个字符。我需要使用这些值作为URL,所以这些URL因此被破坏。有人可以给我的SQL命令为phpmyadmin删除它们而不删除其他连字符?当它是最后一个字符时删除连字符

回答

2

我打算假设你正在使用MySQL ...因为你没有指定任何东西。尽管如此,这可能也会移植到其他SQL版本。无论如何,将其解释为伪SQL代码,你应该找到某个地方。

尝试这样:

SELECT 
    CASE WHEN RIGHT(My_Col, 1) = '-' THEN SUBSTR(My_Col, 0, LENGTH(My_Col)-2) 
    ELSE My_Col AS My_Valid_Link 
FROM 
    My_Table 
+0

是的,它是MySQL的,我安装的WordPress。刚刚尝试过SELECT CASE WHEN RIGHT(post_name,1)=' - 'THEN SUBSTR(post_name,0,LENGTH(post_name)-2) ELSE post_name FROM wp_posts,并且出现此错误:#1064 - You have an您的SQL语法错误;请检查与您的MySQL服务器版本相对应的手册,以便在第4行的'FROM wp_posts LIMIT 0,30'附近使用正确的语法。 –

+0

有什么限制?我只需要删除所有连字符,当他们是一个值中的最后一个字符,在所有行中没有限制 –

+0

我什么都不明白,这是不可能与此phpmyadmin版本删除 - 当它的最后一个字符或什么?有人可以给我正确的代码吗?表名是wp_posts列名post_name –

相关问题