我有一个我最近发现的代码:)它确实完成了它的工作并且做得很好我可能会添加。但是,我想检查所有列而不是按列检查。是否可能
检查下面的代码:
SELECT column_name
FROM table_name
WHERE column_name REGEXP '[[.DLE.]-[.US.]]'
现在,我想要的是这样的,但它不会起作用
SELECT *
FROM table_name
WHERE REGEXP '[[.DLE.]-[.US.]]'
请提出建议,并为提出许多问题而道歉:)
答案 0 :(得分:2)
REGEXP
是一个二元运算符,这意味着你必须有一个左操作数和一个右操作数。
像大多数算术运算符。
您可以检查所有列:
SELECT *
FROM table_name
WHERE CONCAT(a, b, c, d, ...) REGEXP '[[.DLE.]-[.US.]]'
我为了示例而使用...
,但您需要明确地命名所有列。没有选项可以为表达式中的列使用通配符。
您无法设置"所有列"在单个SET
子句中。您需要执行以下操作:
UPDATE table_name SET
a = REPLACE(a,char(16),''),
b = REPLACE(b,char(16),''),
c = REPLACE(c,char(16),''),
d = REPLACE(d,char(16),''),
...similar for other columns;
如果您认为这是SQL语言中的意外遗漏,那么我想知道您是否可以命名任何其他编程语言,让您可以比较或分配一个值来解决所有变量"用一个表达式?