2011-03-17 8 views

Respuesta

16

Sí, igual que lo hizo. ¿Por qué preguntar aquí y no preguntar en la base de datos? Habría obtenido la respuesta correcta.

Lo que sucede es que usted pide una expresión. Una expresión muy simple es simplemente un nombre de columna, una expresión más complicada puede tener forumales, etc. en él.

GJ

10

Sí, es posible, siempre y cuando los tipos de datos son compatibles. Si no es así, utilice un CONVERT() o REPARTO()

SELECT firstname + ' ' + lastname AS name FROM customers 
+0

esto no funcionó correcta para mí en SQLite si apellido y lastname were strings pero como respondió @ user1313900 debes usar el usuario || concatenar dos cadenas de dos columnas – ako

0

Sí, puede combinar columnas con bastante facilidad, como la concatenación de datos de caracteres:

select col1 | col 2 as bothcols from tbl ... 

o la adición de (por ejemplo) numérica datos:

select col1 + col2 as bothcols from tbl ... 

En ambos los casos, se termina con una sola columna bothcols, que contiene los datos combinados. Es posible que tenga que forzar el tipo de datos si las columnas no son compatibles.

21

Sí,

SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE 
WHERE ... 

dará como resultado conjunto de datos como:

WHOLENAME 
field1field2 
0

Su sintaxis debe trabajar, tal vez añadir un espacio entre las columnas como

SELECT something + ' ' + somethingElse as onlyOneColumn FROM someTable

+0

Esto solo funcionaría si algo y algo más son ambas cadenas. – unicorn2

6

El operador + debe hacer el truco muy bien. Sin embargo, tenga en cuenta que si una de las columnas es nula o no tiene ningún valor, obtendrá un resultado de NULL. En su lugar, combine + con la función COALESCE y se establecerá.

Aquí se muestra un ejemplo:

SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1. 

Para este ejemplo, si column1 es NULL, a continuación, los resultados de column2 se mostrarán, en lugar de un simple NULL.

Espero que esto ayude!

15
(SELECT column1 as column FROM table) 
UNION 
(SELECT column2 as column FROM table) 
1

si una de las columnas es el número que he experimentado, el oráculo considerará '+' como operador de suma en lugar de concatenación.

por ejemplo:

select (id + name) as one from table 1; (id is numeric) 

tiros número no válido excepción

en tal caso se puede || operador que es concatenación.

select (id || name) as one from table 1; 
+0

sí, esto funciona correctamente ... ¡buena respuesta! – ako

9

Ninguna de las respuestas anteriores trabajó para mí, pero esto no hizo ...

SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer 
0

Espero que esta respuesta ayuda:

SELECT (CAST(id AS NVARCHAR)+','+name) AS COMBINED_COLUMN FROM TABLENAME; 
Cuestiones relacionadas