Mysql SQL查询:使用concatenate和strcmp比较字符串
我试图比较两组字符串,并希望将状态列更新为“相同”或“更改”或“更改” 我尝试使用strcmp和concat,如下图所示,但语法错误一直被提示出来 有人知道如何同时使用strcmp和concat吗 我的代码:Mysql SQL查询:使用concatenate和strcmp比较字符串,mysql,sql,Mysql,Sql,我试图比较两组字符串,并希望将状态列更新为“相同”或“更改”或“更改” 我尝试使用strcmp和concat,如下图所示,但语法错误一直被提示出来 有人知道如何同时使用strcmp和concat吗 我的代码: UPDATE DMGE1314 SET status2 = case when concat(KodDM14,NamaDM14) = CONCAT(KodDM13,NamaDM13) then "NO CHANGED", when strcmp(conc
UPDATE DMGE1314
SET status2 =
case
when concat(KodDM14,NamaDM14) = CONCAT(KodDM13,NamaDM13)
then "NO CHANGED",
when strcmp(concat(KodDM14,NamaDM14),concat(KodDM13,NamaDM13)) not like "0"
then "spelling different" else "changed"
end
当
UPDATE DMGE1314
SET status2 = case
when concat(KodDM14,NamaDM14) = CONCAT(KodDM13,NamaDM13) then "NO CHANGED"
when strcmp(concat(KodDM14,NamaDM14),concat(KodDM13,NamaDM13)) not like "0"
then "spelling different"
else "changed"
end
你在第二个逗号之前有一个错误的逗号
UPDATE DMGE1314
SET status2 = case
when concat(KodDM14,NamaDM14) = CONCAT(KodDM13,NamaDM13) then "NO CHANGED"
when strcmp(concat(KodDM14,NamaDM14),concat(KodDM13,NamaDM13)) not like "0"
then "spelling different"
else "changed"
end
你为什么不使用简单的比较呢
UPDATE DMGE1314
SET status2 = (case when KodDM14 = KodDM13 and NamaDM14 = NamaDM13
then 'NO CHANGED',
when KodDM14 is null or NamaDM14 is null or KodDM13 is null or NamaDM13 is null
then 'NULL'
else 'SPELLING DIFFERENT'
end);
如果可以,请使用内置运算符。不要使用strcmp()来比较等式。其目的是根据字符串的顺序生成-1、0或1。为什么不使用简单的比较
UPDATE DMGE1314
SET status2 = (case when KodDM14 = KodDM13 and NamaDM14 = NamaDM13
then 'NO CHANGED',
when KodDM14 is null or NamaDM14 is null or KodDM13 is null or NamaDM13 is null
then 'NULL'
else 'SPELLING DIFFERENT'
end);
如果可以,请使用内置运算符。不要使用strcmp()来比较等式。其目的是根据字符串的顺序生成-1、0或1。您可以共享确切的错误消息吗?它说:at-strcmp之间的语法错误直到不喜欢“0”您可以共享确切的错误消息吗?它说:at-strcmp之间的语法错误直到不喜欢“0”谢谢,它工作得很好。我添加了逗号,但不知道它会导致语法错误。看起来我必须更加小心逗号。非常感谢scaisEdge,它工作得非常好。我添加了逗号,但不知道它会导致语法错误。看起来我必须更加小心逗号。因为我想我要更新各种状态,例如“拼写不同”、“代码更改”、“名称更改”。所以我认为这需要由strcmp()@SyahirahAR来完成。我不这么认为。我不记得上次使用strcmp()是什么时候了。因为我想我想更新各种状态,例如“拼写不同”、“代码更改”、“名称更改”。所以我认为这需要由strcmp()@SyahirahAR来完成。我不这么认为。我不记得上次使用strcmp()是什么时候了。