我在一个字段中有数千行,其中许多行包含-
作为最后一个字符。我需要将值用作URL,因此这些URL会被破坏。有人可以给我phpmyadmin的SQL命令删除它们而不删除其他连字符吗?
答案 0 :(得分: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
答案 1 :(得分:0)
这是您使用 MySQL 时所需的 SQL:
UPDATE your_table SET your_url = SUBSTR(your_url, 1, LENGTH(your_url) - 1)
WHERE RIGHT(your_url, 1) = '-'
说明:RIGHT("https://www.example.com/bad-url-", 1) 将等于 "-"。 我们找到末尾带连字符的所有网址,并用相同的网址替换坏网址但末尾没有连字符(如@eatonphil 帖子)
警告:如果 your_url
字段上有唯一键,您可能会收到重复键错误。