❶ sql Server 2000如何保存兩條數據在同一個欄位中
SQL Server有很多版本,好像2000時,創建表時右擊有"設計表"和"編輯表"兩個選項。設置為char型呀,然後直接輸入要添加的顏色就行。
❷ 刪除資料庫中重復的數據,只保留一條這個sql 怎麼寫
有2個辦法
1.找出一份不重復的表,導入到臨時表,把原先的表數據刪除,在把臨時表的數據導回去,這個適合沒有ID欄位的表,語句:
找出唯一數據,把重復去掉並存入中轉表:select distinct * into table(中轉表名稱) from tb(原表)
刪除原表數據:delete tb
把中轉表數據導入原表:insert into tb select * from table
2.有ID欄位的,把相同數據的最大ID當成唯一的
搜索相同數據的最大ID:select max(id) from tb group by 欄位1,欄位2,...(除ID以外的所有欄位)
把重復數據刪除 delete from tb where id not in(select max(id) from tb group by 欄位1,欄位2,...(除ID以外的所有欄位))
❸ 怎麼用SQL語句修改數值為保留兩位小數
1、創建測試表,
create table test_replace_num(id number, value number);
❹ 在sql中一個欄位中保存多個數據
雖然不明白你為什麼要這么做,但是可以實現的
1、把欄位name的長度設置到你需要的長度;
2、存儲時表你設置的分隔符分開,分隔符要採用名字里不包含的字元,逗號也可以,但在用戶輸入名字時,不能讓用戶輸入逗號;
3、在查詢出的時用Slipt函數用你設置的分隔符,分隔成字元串數組來處理。
❺ 資料庫中一個欄位存儲了兩個值,想寫sql分別取出來,把下面欄位二中的數據分別取出來,要編寫sql,求大神
如果是用sql server可以用這個語句select 欄位一,姓名 from 表名 t,,master..spt_values s where type='p' and number>0 and substring(','+欄位二,number,1)=','
❻ 在SQL資料庫表中添加一列數值型(默認保留2位)的數字,該怎麼寫
思路大概是這樣:
實用ltrim或者rtrim函數去掉左邊或右邊符合條件的字元。
如果是oracle環境,看你這里都是字母在前數字在後的格式,假設舊列叫 col_old,新的字母列是col_str,新的數字列是col_num
update table1 set
col_str=rtrim(col_old,'1234567890'),
col_num=to_number(ltrim(col_old,rtrim(col_old,'1234567890')))
sql server 有沒有這個函數不知道了,反正這是一個思路吧。供參考而已
sql沒有這個東西,那我就給你提個思路吧,語句你自己寫了,我沒有環境。
用ASCII碼和sql的ltrim和rtrim來做,你需要循環找到從左起每個字元都是ASCII>=65(9以上即字母)的,直到找到ASCII<=64的就結束,這樣可以把這個字元部分的長度得到,在用trim函數截取一下就可以了。
❼ sql 篩選重復數據,每個重復數據留兩條
如果重復數據太多,這個資料庫就設計的不合理,應該再分解。
❽ 在sql中一個欄位中保存多個數據
完全可以,你只需要將name設置為nvarchar(200),相當於可以存放100個中文漢字,應該夠用了吧。但是考慮到最終從name裡面取出的內容,最好在保存姓名時,將你的姓名字元串使用逗號隔開(string NameStr = aa; nameStr = nameStr + ',' + bb; 。。。),這樣獲取全部的姓名後再執行Insert或Update就可以了。同時在程序中你也可以將這樣欄位內容按逗號拆解開獲取每一個姓名,當然那就是屬於程序代碼的內容了。總之,只使用一個欄位來保存多項信息的話,只能夠這樣了。
❾ sql資料庫 有多條記錄完全重復,怎麼刪除重復記錄,只保留一條,sql語句怎麼寫
如果只是要查詢不是重復的記錄的話
select distinct * from 表
如果是將多餘的重復記錄刪除
首先將不是重復的數據提取出來,保存到一個臨時表中
select distinct * into #temp from 表
然後刪除原來的表
delete from 表
最後往裡面插入臨時表的數據
insert into 表
select * from #temp