Gere uma nova variável de string concatenando duas variáveis ​​inteiras com MySQL

StackOverflow https://stackoverflow.com/questions/8981581

  •  12-11-2019
  •  | 
  •  

Pergunta

Peço desculpas pela bobagem da pergunta, mas sou um completo neófito no MySQL e estou tendo problemas até mesmo para ler a documentação sobre isso.Eu tenho uma tabela com duas colunas "homeid" e "indid", que são campos de dados inteiros.Quero concatená-los em uma nova variável "uid" com um hífen.A saída desejada ficaria assim:

uid   homeid   indid
10-1  10       1
10-2  10       2
11-1  11       1

Eu tentei o código a seguir, que funciona bem ao gerar a variável "uid" na qual as variáveis ​​concatenadas deveriam ficar, mas não parece funcionar (embora não produza nenhum erro) além disso:

ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/

UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);

Agradecemos antecipadamente pela sua ajuda (e paciência).

Foi útil?

Solução

A função que você precisa aqui é CONCAT_WS() usar um separador delimitador -, ou altere os argumentos para CONCAT():

UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);

OU mude os argumentos para CONCAT()

UPDATE table_name SET uid = CONCAT(homeid, '-', indid);

Outras dicas

por favor tente seguir a consulta.

UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top