我需要更新应等于姓名+姓氏+“@simuladores”的首字母的列的值 名称列称为 nombre_jefe,姓氏列称为 apellido_jefe,应添加到的列称为 email_empresa。 问题是,每次我尝试某件事并且它完成时,每一行都返回 0。 所有列都是 VARCHAR 类型 我试过:
UPDATE sector SET email_empresa = (SUBSTR(nombre_jefe, 1, 1) || apellido_jefe || "@simuladores.com.ar");
从扇区选择*;
但它返回了我:
nombre_jefe | apellido_jefe | email_empresa |
---|---|---|
约翰 | 戈麦斯 | 0 |
胡安 | 佩雷斯 | 0 |
艾米丽 | 托雷斯 | 0 |
最终应该是这样的
nombre_jefe | apellido_jefe | email_empresa |
---|---|---|
约翰 | 戈麦斯 | jgomez@simuladores |
胡安 | 佩雷斯 | jperez@simuladores |
艾米丽 | 托雷斯 | etorres@simuladores |
默认情况下,
||
将在MySQL中被读取为逻辑OR
如果您想使用
||
来连接/组合文本,则需要设置 SET sql_mode = 'PIPES_AS_CONCAT';
如果您经常使用此功能(例如在存储过程中),这将很有用。
但是,如果只是一次查询,我建议使用
SELECT CONCAT(str1, str2, ...)
代替