求助 用SQL語言實現下面的功能

時間 2022-09-02 06:10:03

1樓:匿名使用者

用字串函式實現:

select id,name,replace(address,'村','') from table_name where address like '%村'

這樣並不會修改表中的資料。

如果需要把原表中記錄修改成查詢後的結果,可以將查詢後的結果先存到臨時表中,然後將原表中的資料替換掉即可。

2樓:

看了你的意思,其實難不在能不能找到函式查詢,而是這個資料是中文的。中文,你要小心,不知道你用的dbms是那種呢。如mysql裡,編碼utf-8,一箇中文的長度為3,你根據你的資料庫調下。

下面是mysql的查詢語句:(replace()是不可以的,如遇到一個address為「村村的鎮」,就會出現不理想情況)

select ip,name,if(address like '%村',substring(address,1,length(address)/3-1),address) from table

想法:如果最後一位有『村』字的,就把最後一位去掉。

3樓:蝶舞

我認為 如果是修改表結構的話

應該是可以用 更新命令 就是 update...set..where..

update 表名 set adress=太平 where ip="001"

以此類推 下面的都可以這樣更新

4樓:

select ip,name,case when right(address,1,)='村' then left(address,len(address)-1) case when right(address,1,)='鎮' then left(address,len(address)-1) else address end from table

5樓:匿名使用者

select id,name,replace(address,'村','') from 表名 where address like '%村%';

6樓:狼道法則

update 表名 set replace where(select id,name,replace(address,'村','') from 表名 where address like '%村%');

7樓:匿名使用者

select ip,name,replace(address,'村','') from table

用SQL語言實現下列1 4小題 現有關聯式資料庫如下

1.select a.學號,a.姓名,a.獎學金,b.課程名,c.分數 from 學號as a inner join 學習 as c on a.學號 c.學號 left join 課程 on c.課程號 b.課程號 2.select a.姓名,b.課程號,b.名稱,c.分數 from 學生 a in...

能否實現vbs搭介面,C語言實現演算法

可以這樣做,但一般也不是用c,是用c 之類的建立dll供其它軟體呼叫,寫介面的想快的話一般是用vb或c 沒聽說過vbs搞介面的。c語言演算法必須要有輸入和輸出嗎?演算法可以沒有輸入但是必須要用輸出。也可以沒有輸入也可以沒有輸出,例如 求1到10的累加和,並不要求輸出。include int main...

高分可追加到400用C 語言實現簡單的資料壓縮與加解密系統,求大神幫忙

請問編譯器是什麼?下面的程式適用於 linux的gcc,如果要win32 console,只需簡單修改 include include ifdef gnuc include else include endif int compess file fsrc,file fdest,int n while...