當前位置:首頁 » 編程語言 » sql類似

sql類似

發布時間: 2022-12-18 23:04:04

『壹』 sql語言中是否有類似於C語言的for語句

標準的sql是沒有的,但好多資料庫它自己集成了自己的sql,這部分語句大多都有循環和條件等常用語句!建議你用的什麼資料庫在查相關語句!

『貳』 關於SQL中如何比較方便的查詢多個類似的欄位

那就得動態拼接字元串了,比如 select a.name from sys.columns as a join sys.tables as b on a.object_id = b.object_id and b.name = '你的表名' 以上腳本SQL2008可用。

『叄』 SQL中有沒有類似sleep的延時函數

SQL有定時執行的語句 WaitFor,可以寫到一個存儲過程中再執行一次

語法:WaitFor{Delay 'time'|Time 'time}

Delay後面的時間為延遲多少時間執行

Time後面的時間為指定何時執行,格式為"HH:MM:SS",不支持日期

例:

------指定10:00執行

Begin

waitfor time '10:00'

select * from tablename

end

-----指定等待1小時後執行

begin

waitfor delay '1:00'

select * from tablename

end

dbms_lock.sleep(n)暫停n秒後執行

一般這個包都會創建,但是許可權不是默認就賦予的;還有一個重要的步驟是要給用戶all on dbms_lock 許可權。。

在DBA身分下

grant execute on dbms_lock to USERNAME;

放到存貯過程里

1.WAITFOR

--WAITFOR

--例 等待1 小時2 分零3 秒後才執行SELECT 語句

waitfor delay '01:02:03'

select * from employee

--例 等到晚上11 點零8 分後才執行SELECT 語句

waitfor time '23:08:00'

select * from employee

『肆』 SQL類似京東淘寶產品屬性的篩選功能

select PID,max(case when 類別 = '品牌' then name else '' end) 品牌,
max(case when 類別 = '介面' then name else '' end) 介面
from Goods_Attribute a join 屬性表 b
on a.AID = b.AID
group by a.PID

如果屬性可以隨意增加,則根據屬性做游標,拼出上面的語句。
declare @sql varchar(max)
declare @c_類別 varchar(100)

set @sql = 'select PID,'

declare cur_屬性 cursor for
select distinct 類別 from 屬性表
open cur_屬性
fetch cur_屬性 into @c_類別
while @@FETCH_STATUS = 0
begin
set @sql = @sql + 'max(case when 類別 = ''' + @c_類別 + ''' then name else '''' end) ' + @c_類別 + ','
fetch cur_屬性 into @c_類別
end
close cur_屬性
deallocate cur_屬性

set @sql = @sql + '1 noshow from Goods_Attribute a join 屬性表 b on a.AID = b.AID group by a.PID '

exec ( @sql )

『伍』 sql如何實現類似統計的功能

SQL中沒有直接提供這種按組查詢的方法,你可以去寫可存儲過程或者自定義函數去實現,很簡單,也就3到4行就行,如果選出包含english的可以使用SQL中的字元串匹配函數去找english這個字元串,只需要讓這個得出的值大於0就認為他找到對應的字元串了。

如果還不明聯系我
我寫具體的存儲過程給你

『陸』 sql 一個類似like的查詢

這個簡單的!假設你的user表 欄位為 num 的值1000,10001,4444,2111
可這樣

select * from (select * from user where num like'%1000%')A
where A.num not like'%10001%'

或者

select * from user where num like'%1000%' and
num not like'%10001%'

『柒』 sql如何實現類似統計的功能

很幸運的是MYSQL也有這個函數

SELECT class_No,GROUP_CONCAT(course_Name)
FROM Class
GROUP BY class_No

『捌』 PL/SQL的類似語言

功能近似PL/SQL的程序語言和其他關系型資料庫:
SybaseASE、Microsoft SQL Server的Transact-SQL,PostgreSQL資料庫的PL/pgSQL(模仿PL/SQL)和IBM DB2的SQL PL,都符合ISOSQL的SQL/PSM標准。

『玖』 sql中類似循環方法語句怎麼寫急!急

create table a_lyh_test
as
select 'A' as "欄位1" , 500 as "欄位2" from al
union all
select 'B' as "欄位1" , 300 as "欄位2" from al
union all
select 'B' as "欄位1" ,400 as "欄位2" from al
union all
select 'B' as "欄位1" , 600 as "欄位2" from al
union all
select 'A' as "欄位1" , 200 as "欄位2" from al
;

select f.欄位1
,ltrim(max(sys_connect_by_path(f.欄位2,','))
keep (dense_rank last order by f.pnum),',') as 欄位2
from
(
select t.欄位1
,t.欄位2
,row_number() over(partition by t.欄位1 order by t.欄位1) as pnum
,row_number() over(partition by t.欄位1 order by t.欄位1)-1 as lnum
from
(
select a.欄位1,a.欄位2
from a_lyh_test a
) t
) f
group by f.欄位1
connect by f.lnum = prior f.pnum and f.欄位1 = prior f.欄位1
start with f.pnum = 1;

『拾』 sql怎樣完成類似數據透視表那樣的功能

這個建議另建一張表,按照最終需求的表結構建好表3,然後
insert into 表3(姓名,學號) as select 姓名,學號 from 表1;
update 表3 set 數學=表2.score from 表2,表3 where 表2.學號=表3.學號 and 表2.subject=數學;
update 表3 set 語文=表2.score from 表2,表3 where 表2.學號=表3.學號 and 表2.subject=語文;
抱歉大概意思明白吧,欄位名我沒仔細對哈。

熱點內容
php環境部署 發布:2025-01-26 15:28:09 瀏覽:17
python實現svm 發布:2025-01-26 15:24:25 瀏覽:381
易語言寫ip全局代理伺服器 發布:2025-01-26 15:04:01 瀏覽:668
gm命令在哪個文件夾 發布:2025-01-26 15:03:12 瀏覽:307
javadate類 發布:2025-01-26 14:58:54 瀏覽:352
領航s1配置怎麼樣 發布:2025-01-26 09:58:10 瀏覽:763
公司區域網搭建伺服器搭建 發布:2025-01-26 09:16:56 瀏覽:433
android裁剪圓形圖片 發布:2025-01-26 09:05:56 瀏覽:411
小貸源碼 發布:2025-01-26 08:20:58 瀏覽:536
更換電腦名登錄伺服器 發布:2025-01-26 07:56:52 瀏覽:240