1. sql怎樣過濾重復記錄
declare @t table (ID int, Name varchar(10), address varchar(10))
insert into @t select 1,'a','1'
insert into @t select 2,'a','2'
insert into @t select 3,'a','1'
insert into @t select 4,'a','3'
insert into @t select 5,'b','2'
insert into @t select 6,'b','2'
insert into @t select 7,'b','3'
insert into @t select 8,'b','1'
insert into @t select 9,'c','1'
insert into @t select 10,'d','2'
select ID,Name,address from
(
select *,orderid=(select count(1) from @t where name=x.name and address=x.address)
from @t as x
) as y
where orderid>=2
--結果
/*
ID Name address
----------------------------------
1 a 1
3 a 1
5 b 2
6 b 2
*/
--沒試過我的?我的測試通過啊!!!
補充:
看不懂?
很簡單的呀,就這樣:
select ID,Name,address from
(
select *,orderid=(select count(1) from 表名 where name=x.name and address=x.address)
from 表名 as x
) as y
where orderid>=2
2. postgresql 判斷欄位是否為空 空給默認值 否則取該欄位是什麼函數來著
select COALESCE(D.wk_ptn_cd, '00') as wk_ptn_cd
3. pg資料庫里把0轉換成null用哪個函數
直接用update tablename a set a.name='桐鬧念0' where a.name is null
也可以用函數來實現 假設局困a表
比如 case when a.name is null then 0 else a.name
decode 也彎攜可以實現
4. postgresql 怎麼刪除函數
用drop語句,
drop function function_name (parameters_list);
要注意:在寫drop語句時,需要將函數參數寫完整,因為PostgreSQL中允許函數的重載的,即同一個函數名可以擁有不同的參數,雖然函數名一樣,但是代表不同的函數體;故參數需要寫完整。
5. [SQL資料庫]怎麼去掉後面多餘的0
用convert或者cast函數,具體的用法查一下,好像是convert(數據慎和,char(10),112)吧,不記得了,反正每次用這個函數,我都要敏逗查一下寬拿盯,哈哈
6. 如何使用 PostgreSQL 資料庫去 O
如何使用 PostgreSQL 資料庫去 O
1、安裝陸鍵postgresql
yum install postgresql postgresql-server
mysql佔用埠3306 pgsql是5432
2、導入整個資料庫
psql -U postgres(用戶名) 資料庫名(預設時同用戶名) < /data/m.sql
3、導出整個資料庫
pg_mp -h localhost -U postgres(用戶鉛悉冊名) 資料庫名(預設時同用戶名) >/data/m.sql
4、導出某個表
pg_mp -h localhost -U postgres(用戶名) 資料庫名(預設時同用戶名) -t table(表名) >/data/m.sql
5、壓縮方法
一般用mp導出數據會比較大,推薦使用xz壓縮
壓縮方法 xz m.sql 會生成 m.sql.xz 的文件
6、xz壓縮數據倒數資料庫方法
xzcat /data/m.sql.xz | psql -h localhost -U postgres(用戶名槐宏) 資料庫名(預設時同用戶名)
7. pgsql中char類型怎麼去除補余的空格
一般來說,SQL類資料庫都會有三種字元串類型:固定長度的char,限定最大長度的varchar,可變長度的text。 在使用MySql的時候,我們通常會被告知,使用有最大長度的char或者varchar會在性能方面有好處,而在PostgreSQL中,卻不一定是這樣。
8. pgsql substring 截取字元串
原理:
substring(string [from <str_pos>] [for <ext_char>])
substring方法的第一個參數是值,第二個是開始位置從1開始而非0(第一個字元下標是1),第三個櫻橘氏參數是截伍蔽取長度,我這個方法是比較笨的方法,應該有好的,但是沒有太多時脊散間去思考,後續有了會補上方法。
9. sql 怎麼去掉最後一個字元,請看詳細
對於字元串結尾不是空格的情況用Len是可以的(如上):
substring(字元串,1,len(字元串)-1) 從第一位開始,截取到第n-1位
left(字元串,len(字元串)-1) 從左側截取n-1位
但是結尾有空格時得不到正確結果(如下,括弧[]不算在字元串內,為了顯示後面有空格):
[胡 大俠 ]執行後成為[胡 大]
所以要先判斷結尾是否有空格,有的話用下面語句先行替換:
UPDATE Student SET [Name] = SUBSTRING([Name], 1, LEN([Name])) WHERE RIGHT([Name], 1) = ' '
不管後面在多少空格,這一個子就全替換掉啦!然後再用前面的語句就可以正確去掉最後一個字元了。(如果在你的需求里最後的空格也算一個字元,那麼要標記下或者合成一條語句執行)
(PS:試過DataLength()也不行,因為它是以位元組計算)
10. SQL中如何刪除某個欄位內容的第一個字元
執行SQL語句:update 表名 set 欄位名=stuff(欄位名,substring(欄位名,0,1),'')。
stuff函數:
1、作用:stuff函數用於刪除指定長度的字元,並在指定的起點處插入另一組字元。
2、語法:STUFF ( character_expression , start , length ,character_expression )
3、參數:
(1)character_expression:一個字元數據表達式。character_expression 可以是常量、變數,也可以是字元列或二進制數據列。
(2)start:一個整數值,指定刪除和插入的開始位置。如果 start 或 length 為負,則返回空字元串。如果 start 比第一個 character_expression長,則返回空字元串。start 可以是 bigint 類型。
(3)length:一個整數,指定要刪除的字元數。如果 length 比第一個 character_expression長,則最多刪除到最後一個 character_expression 中的最後一個字元。length 可以是 bigint 類型。
(10)pgsql去空格函數擴展閱讀:
如果 character_expression 是支持的字元數據類型之一,則返回字元數據 。如果 character_expression 是支持的二進制數據類型之一,則返回二進制數據 。
如果開始位置或長度值是負數,或者開始位置大於第一個字元串的長度,則返回 Null 字元串。如果開始位置為 0,則返回 Null 值。如果要刪除的長度大於第一個字元串的長度,則刪除到第一個字元串中的第一個字元。
如果結果值大於返回類型支持的最大值,則會引發錯誤。
參考資料來源:網路——Stuff