1sql查詢語句時怎麼把幾個字段拼接成欄位

時間 2021-10-14 22:24:01

1樓:樂海白

1、語句如下:

select 欄位a, 欄位b, 欄位a + 欄位b as 欄位c  from 表1

注:欄位a加上欄位b的計算列命名為字段c

2、計算列

計算列由可以使用同一表中的其他列的表示式計算得來。表示式可以是非計算列的列名、常量、函式,也可以是用乙個或多個運算子連線的上述元素的任意組合。表示式不能為子查詢。

原題的答案就是「計算列」。

2樓:匿名使用者

sql中字元型字段的拼接可以使用「+」或者「||」來實現,不過考慮到你問題中這幾個字段屬於整形字段,需要先將整形進行資料型別轉換後,再使用「+」或者「||」拼接。

拼接的語法為:

select cast(column1 as varchar(10)) + '-' + cast(column2 as varchar(10)+ '-' + ........)  as p from table ;

或者:select cast(column1 as varchar(10)) || '-' + cast(column2 as varchar(10) || '-' || ........)  as p from table ;

其中cast函式用於將某種資料型別的表示式顯式轉換為另一種資料型別。cast()函式的引數是乙個表示式,它包括用as關鍵字分隔的源值和目標資料型別。

語法:cast (expression as data_type)

舉個例子:已知表 tablea,含id、yy、mm、dd四個整數型字段。

使用sql將yy、mm、dd三個字段進行拼接,語法:

select id,cast(yy as varchar(10))+ '-' + cast(mm as varchar(10)) + '-' + cast(dd as varchar(10))  as pp from tablea;

則輸出結果為:

擴充套件資料:

在sql中,不同的資料庫拼接欄位的方法不盡相同,如

mysql: concat()

oracle: concat(), ||

sql server: +

concat() 的語法如下:

concat(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。

請注意,oracle的concat()只允許兩個引數;

換言之,一次只能將兩個字串串連起來。不過,在oracle中,我們可以用'||'來一次串連多個字串。

例子1:

mysql/oracle:

select concat(region_name,"-",store_name) name  from geography

或select concat(region_name,store_name) from geography

where store_name = 'boston';

結果:'eastboston

3樓:加百列

通過group_concat實現,具體過程如下:

1、原sql語句如下:

select q.`id`, q.`questioncontent`, o.`questionoption` from `exam_question` q

inner join `exam_question_option` o on q.`id` = o.`questionid`

where q.`questiontype` = 1

2、此時的查詢結果如下表:

3、現在根據id,將 questionoption 的字段整合拼接在一起,更改後的sql語句如下:

select q.`id`, q.`questioncontent`, group_concat(o.

`questionoption`) as questionoptionlist from `exam_question` q

inner join `exam_question_option` o on q.`id` = o.`questionid`

where q.`questiontype` = 1

group by q.`id`

3、執行結果如下:

4樓:匿名使用者

select convert(varchar(10),billid) + convert(varchar(10),billid) from s_bill sb

說明,所有數字都可以,可以很多個字段連線,在sql2000下測試過這個最易明了,convert(varchar(10),billid) 轉成字元,

+ 表示連線

5樓:

哪種資料庫?

如果是sqlserver: select cast(column1 as varchar(10)) + '-' + cast(column2 as varchar(10) ...) as p from table 這麼一直拼就好了。

如果是oracle: select to_char(column1) || '-' || to_char(column1)|| '-' || to_char... as p from table

6樓:

轉換為字串,然後相加後 在強制型別轉換

7樓:溏小小

select

cast(column1 as varchar(10))+'-'+cast(column2 as varchar(10))

as p from table1

因為原來是整型字段,所以需要cast成varchar,長度自定。

sql模糊查詢語句怎麼寫啊,SQL模糊查詢語句怎麼寫啊

假設表名為product,商品名為name,簡界為remark.則可如下寫 select name remark from product name like aa or remark like aa 注 上面單引號的aa你表模糊查詢輸入的字元. 用 like 子句呀。比如 select from ...

SQL的查詢語句中有「自連線查詢」怎麼理解?能舉個例子就

假設在 成績表 有 主鍵id 學生姓名 課程名稱 成績 等字段。現在要查詢 語文成績 數學成績 的學生姓名,這時就可以使用自連線查詢 select 學生姓名 from 成績表 as a,成績表 as bwhere a.主鍵id b.主鍵id and a.成績 b.成績 and a.課程名稱 語文 a...

這個查詢結果行列交換的SQL語句怎麼寫

有意思的問題 給出乙個參考的url 假設你表是這樣的結構 部件 入庫日期 入庫數量 a 1 1 10a 1 1 5a 1 2 10b 1 5 10其實就是兩種方法,假設你的資料庫是11以前的,只能先定義好查哪天到哪天 然後 那麼 selct 部件,sum decode 入庫日期 1號,入庫數量,0 ...