日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server 和 MySql 语法和关键字的区别

發布時間:2025/3/21 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server 和 MySql 语法和关键字的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)????MySQL的ifnull()函數對應sql的isnull()函數;

?

(2)????mysql的存儲過程中變量的定義去掉@;

?

(3)????mysql的每句結束要用";"

?

(4)????SQLServer存儲過程的AS在MySql中需要用begin .....end替換

?

(5)????字符竄連接用concat()函數;

如?SQLServer: Temp=’select * from ’+’tablename’+…+…

??MySql:Temp=concat(’select * from’, ’tablecname’,…,…)

?

(6)????mysql的uuid()對應sql的GUID();

?

(7)????MySql的out對應SQLServer的output,且mysql?的out要放在變量的前面,SQLServer的output放在變量后面

?

MySql out,in,inout的區別——

MySQL?存儲過程?“in”?參數:跟?C?語言的函數參數的值傳遞類似,?MySQL?存儲過程內部可能會修改此參數,但對?in?類型參數的修改,對調用者(caller)來說是不可見的(not visible)。

?

MySQL?存儲過程?“out”?參數:從存儲過程內部傳值給調用者。在存儲過程內部,該參數初始值為?null,無論調用者是否給存儲過程參數設置值。

?

MySQL?存儲過程?inout?參數跟?out?類似,都可以從存儲過程內部傳值給調用者。不同的是:調用者還可以通過?inout?參數傳遞值給存儲過程。

?

(8)MySQL的if語句為

if??(條件)??then

end if;

或者

???????If??(條件) then

???????Else

???????End if

或者

???????If(條件)then

???????Elseif??????(注意不能寫成?Else if?)

???????Elseif

???????…

???????End if

?

(9)Mysql的Execute對應SqlServer的exec;

???????(注意:必須想下面這樣調用)

???????Set @cnt=’select * from?表名’;

???????Prepare str from @cnt;

???????Execute str;

?

(10)MySql存儲過程調用其他存儲過程用call

???????Call?函數名(即SQLServer的存儲過程名)(’參數1’,’參數2’,……)

?

(11)?mysql的日期

???????1獲得當前日期函數:curdate(),current_date()

???????2獲得當前時間函數:curtime();

???????3獲得當前日期+時間:now();

4MySQL dayof...?函數:dayofweek(), dayofmonth(), dayofyear()分別返回日期參數,在一周、一月、一年中的位置。

(注:周日=1,周一=2,周二=3,……)

?

???????5返回本月的天數:select day(last_day(now()));

??????

???????6MySQL?為日期增加一個時間間隔:date_add()

???????select date_add(CURRENT_DATE(),interval?‘要增加的天數’?day) as Fdate

????7MySQL?為日期減去一個時間間隔:date_sub()

???????select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);

???????8MySQL?日期、時間相減函數:datediff(date1,date2), timediff(time1,time2)

9MySQL?拼湊日期、時間函數:makdedate(year,dayofyear), maketime(hour,minute,second)

例:select makedate(2001,31); -- '2001-01-31'

select makedate(2001,32); -- '2001-02-01'

10本周時間(起始)

select date_sub(CURRENT_DATE(),interval dayofweek(curdate())-2 day) as Fdate

11本周時間(結束)

select date_add(CURRENT_DATE(),interval dayofweek(curdate())+3 day) as Fdate

12上周時間(起始)

select date_sub(CURRENT_DATE(),interval dayofweek(curdate())+5 day) as Fdate

13上周時間(結束)

select date_sub(CURRENT_DATE(),interval dayofweek(curdate())-1 day) as Fdate

14本月時間(起始)

select DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY) as Fdate

15本月時間(結束)

Select date_add(current_date(),interval day(last_day(CURDATE())) -day(CURDATE()) day) as Fdate

16上月時間(起始)

select DATE_SUB(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE()) DAY),interval day(last_day(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE()) DAY)))-1 day) as Fdate

17上月時間(結束)

select DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE()) DAY) as Fdate

18今年時間(起始)

select makedate(year(curdate()),1) as FDate

19今年時間(結束)

select DATE_SUB(makedate(year(curdate())+1,1) ,INTERVAL 1 day) as Fdate

20去年時間(起始)

select makedate(year(curdate())-1,1) as Fdate

21去年時間(結束)

select DATE_SUB(makedate(year(curdate()),1) ,INTERVAL 1 day) as FDate

22DATE_FORMAT(date,format):根據format字符串格式化date值。下列修飾符可以被用在format字符串中

%M ? ??月名字(January……December) ? ? ??
???????%W ? ??星期名字(Sunday……Saturday) ? ? ??
???????%D ? ??有英語前綴的月份的日期(1st, ? 2nd, ? 3rd, ??等等。)?? ??
???????%Y ? ??年, ??數字, ? 4 ??位?? ??
???????%y ? ??年, ??數字, ? 2 ??位?? ??
???????%a ? ??縮寫的星期名字(Sun……Sat) ? ? ??
???????%d ? ??月份中的天數, ??數字(00……31) ? ? ??
???????%e ? ??月份中的天數, ??數字(0……31) ? ? ??
???????%m ? ??月, ??數字(01……12) ? ? ??
???????%c ? ??月, ??數字(1……12) ? ? ??
???????%b ? ??縮寫的月份名字(Jan……Dec) ? ? ??
???????%j ? ??一年中的天數(001……366) ? ? ??
???????%H ? ??小時(00……23) ? ? ??
???????%k ? ??小時(0……23) ? ? ??
???????%h ? ??小時(01……12) ? ? ??
???????%I ? ??小時(01……12) ? ? ??
???????%l ? ??小時(1……12) ? ? ??
???????%i ? ??分鐘, ??數字(00……59) ? ? ??
???????%r ? ??時間,12 ??小時(hh:mm:ss ? [AP]M) ? ? ??
???????%T ? ??時間,24 ??小時(hh:mm:ss) ? ? ??
???????%S ? ??秒(00……59) ? ? ??
???????%s ? ??秒(00……59) ? ? ??
???????%p ? ? AM或PM ? ? ?

%w ? ??一個星期中的天數(0=Sunday ? ……6=Saturday ??)?? ??
???????%U ? ??星期(0……52), ??這里星期天是星期的第一天?? ??
???????%u ? ??星期(0……52), ??這里星期一是星期的第一天?? ??
???????%% ? ??一個文字“%”。?? ?

例:所有的其他字符不做解釋被復制到結果中。?? ?
???????mysql> select ? DATE_FORMAT('1997-10-04?? 22:23:00', ? '%W ? %M ? %Y'); ??
???????->'Saturday ? October ? 1997' ??
???????mysql>select ? DATE_FORMAT('1997-10-04?? 22:23:00', ? '%H:%i:%s'); ?

-> ? '22:23:00' ?

mysql>select ? DATE_FORMAT('1997-10-04?? 22:23:00', ? '%D ? %y ? %a ? %d ? %m ? %b ? %j'); ?

->'4th ? 97 ? Sat ? 04 ? 10 ? Oct ? 277' ?

mysql>select ? DATE_FORMAT('1997-10-04?? 22:23:00', ? '%H ? %k ? %I ? %r ? %T ? %S ???????%w'); ?

->'22 ? 22 ? 10 ? 10:23:00 ? PM ? 22:23:00 ? 00 ? 6' ?

(12)MySql存儲過程中沒有return函數,在MySql中可以用循環和out參數代替

???????If EXISTS(SELECT * FROM T_Chance WHERE FCustID=CostomerID)??return 0

改寫為:

???????(在參數中定義一個out變量:out temp varchar(100);)

??????????????BEGIN

??????????????Loop1:loop

???????SELECT count(*) FROM T_Chance WHERE FCustID=CostomerID int @cnt

???????If @cnt>0 then

???????begin

??????????????set temp=0;

??????????????leave loop1;

???????end;

???????end if

???????end loop loop1;

?

(13)?select @a=count(*) from VW_Action?在mySql中修改為:select count(*) from VW_Action into @a;

?

(14)MySQL中沒有top關鍵字,需要用limit代替且放在后面

???????注意,在MySQL中的limit不能放在子查詢內,limit不同與SQLServer,它可以規定范圍?limit a,b——范圍a-b

SQL SERVER : select???top???8???*???from???table1

MYSQL: select???*???from???table1???limit???5;

(15)即使存儲過程沒有參數也要寫括號“()”

(16)?當一個存儲過程中有創建臨時表時

create procedure up_test

()

begin

drop table if exists tb1;

create TEMPORARY table tb1//注意添加TEMPORARY table

(

id int,

name varchar(20)

);//注意最后加分號

insert tb1 values('1','jim');

select * from tb1;

end

(17)建表中自增長問題:

create table user

(

??Id???????????????????????????????????????????varchar(10)??primary key?????auto_increment??not null,

??Name?????????????????????????????????????varchar(20)??????????????????????????not null,

??Password????????????????????????????????varchar(20),

??create_date??????????????????????????????datetime

);

auto_increment?自增長

(18)?"Unable to convert MySQL date/time value to System.DateTime"這是因為在日期列中有"0000-00-00"數據值,要修正這個問題,你可以把這些數據設為null,或者在連接字符串中設置"Allow Zero Datetime=True"?。

(19)?MySQL視圖的FROM子句不允許存在子查詢,因此對于SQL Server中FROM子句帶有子查詢的視圖,需要手工進行遷移。可通過消除FROM子句中的子查詢,或將FROM子句中的子查詢重構為一個新的視圖來進行遷移。


from:?http://blog.csdn.net/weiwangchao_/article/details/17286845

總結

以上是生活随笔為你收集整理的SQL Server 和 MySql 语法和关键字的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产精品成人午夜在线观看 | 天堂在线中文资源 | 涩涩网站在线观看 | 人人亚洲| 老熟妇高潮一区二区高清视频 | 韩日一区 | 污黄网站在线观看 | 精品人妻aV中文字幕乱码色欲 | 99福利视频| 欧美a视频在线观看 | 亚洲欧美另类综合 | 成人福利视频在线 | 成人做爰www看视频软件 | 久久久久久影视 | 在线观看国产亚洲 | 舒淇裸体午夜理伦 | 国产成人精品一区二区三 | 欧美大片在线看免费观看 | 亚洲一区二区自偷自拍 | 偷偷草 | 国产3p精品一区 | 久久中文字幕精品 | 伊人久久久久噜噜噜亚洲熟女综合 | 国产九九在线 | 99久久99久久精品免费看蜜桃 | 韩国三级在线视频 | 日韩美女在线 | 91手机在线观看 | 福利免费在线观看 | 中文字幕黄色片 | 少妇精品亚洲一区二区成人 | 亚洲天堂精品视频 | 精品人妻av一区二区三区 | 午夜在线看片 | 亚欧成人精品一区二区 | 国产亚洲精品美女久久久久 | 色综合久久88色综合天天6 | 欧美视频中文字幕 | 国产日韩一区二区在线观看 | 日韩欧美视频网站 | 亚洲一区二区日韩 | 欧美日本在线视频 | 51ⅴ精品国产91久久久久久 | 成年人网站免费看 | 国产农村老头老太视频 | 亚洲国产日韩欧美在线观看 | 麻豆网站在线观看 | 亚洲精品成人片在线观看精品字幕 | 一级毛片黄色 | 久久网页 | 日韩欧美高清一区 | 久久桃色 | 北条麻妃久久 | 亚洲免费国产视频 | 色婷婷一区二区三区 | 99re8在线精品视频免费播放 | 亚洲国产精品成人综合色在线婷婷 | 影音先锋日韩资源 | 欧美人与禽性xxxxx杂性 | 欧美怡红院 | 国产 日韩 欧美 成人 | 日韩欧美亚洲国产精品字幕久久久 | 国产999精品久久久久久 | 亚州久久久 | 不卡的中文字幕 | 天天干夜夜骑 | 色就是色av | 明日花绮罗高潮无打码 | 欧美少妇b | 日本xxxx高清| 亚洲男人的天堂在线观看 | 人与动物av | 欧美日韩高清免费 | 亚洲一区二区综合 | 黄色精品视频 | 国产精品久久久一区二区三区 | 欧美a在线视频 | 中文字幕人妻一区二区在线视频 | 一区三区视频 | 免费av一区 | 亚洲同性gay激情无套 | 91高清网站 | 涩涩屋视频在线观看 | 国产一区二区小视频 | 亚洲黄视频| 欧美一级淫片免费视频魅影视频 | 国产欧美一区在线观看 | 久久成人人人人精品欧 | av一级大片 | 天天操网 | 不卡福利视频 | 可以免费看的毛片 | 日本夫妻性生活视频 | 黄色自拍网站 | 欧美乱码精品一区二区 | 99精品热视频 | 午夜视频一区二区 | 亚洲精品乱码久久久久久国产主播 | 亚洲第一成人在线 |