SQL列與列之間的對換 技巧

2021-08-30 23:43:25 字數 778 閱讀 2786

有時候我們在資料庫新增資料庫的時候,將某個列的字段放錯在在另外乙個字段。有時候想要不一列一列的加算了。但是當資料多的時候,想想自己浪費那麼多時間沒必要。想了乙個一勞永逸的辦法:

首先要兩列對換,那我們就必須要有第三列來進行臨時儲存。我理解如下:

int a;   //列a

int b;   //列b

int temp; //臨時列

//對換列

temp=a;

a=b;

b=temp;

這樣的原理應該不難,很容易理解的。

具體的方法如下:

(1):

update tblprocesswordfile(表)

set remark=b.name

from tblprocesswordfile(同一張表) as b

where name  not like '%.doc'  //條件是查詢該字段內的以不是以.doc結尾的

執行以上方法目的是將 b.name的值 即上面的 temp=a;方法一樣

(2):

以下在執行  a=b; b=temp方法

update  tblprocesswordfile

set name=b.description,description=b.remark

from tblprocesswordfile as b

where name  not like '%.doc'

注意:  先執行(1)   再執行(2)

remark可以隨便定義,執行後可以將該字段刪除即可!

SQL列的組合

前幾天對單位資料庫某錶中的兩列進行組合時,才接觸到幾個有用的字元函式。現記錄如下 col1 col2 a001 68 a001 69 a001 101 需要組合成a001 0068的樣式,應使用如下函式 select str col1,4 replace str col2,4 0 from tabn...

sql裡的多行多列轉一行多列小技巧

恢復內容開始 今天下午接受了乙個緊急小任務,是將一組比賽記錄統計出來,將象棋遊戲玩家的兩條記錄在一行裡面顯示,進資料庫看之後是首先想到的是行轉列,但是一開始就覺得不對,後來寫到一半確實不對,後來上網查詢了半天多行多列轉一行多列,發現又要寫演算法又要寫函式,看了實在頭疼,不想這麼麻煩。於是自己突然間靈...

SQL 列轉行的實現

列轉行,逗號拼接指定列的值 sql server中寫法 select stuff select field1 from tablea for xml path 1,1,oracle中寫法 方法一 wmsys.wm concat select wmsys.wm concat field1 from t...