这是mysql sqlserverr的语句,改成mysql的怎么写啊。求大神指教。报语法错误。因为我的数据库用的是mysql

加入if语句后显示语法错误,求大神指教_触摸精灵吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:7,056贴子:
加入if语句后显示语法错误,求大神指教收藏
x, y = findImageFuzzy('/storage/sdcard0/a.bmp', 80); if x~=-1 then
touchDown(0, 674, 1158); mSleep(29); touchUp(0);end版本是3.3.0求大神指教哪里错了
1楼 16:33&|来自
看看你的图片路径,脚本要在脚本编辑器里去编辑,不然有的空格是抱错的
2楼 13:30&|
function main()x, y = findImageFuzzy('/storage/sdcard0/a.bmp', 80); if x~=-1 then touchDown(0, 674, 1158); mSleep(29); touchUp(0);endend
收起回复3楼 00:17&|来自
这样试试function main()x, y = findImageFuzzy('/storage/sdcard0/a.bmp', 80); if x ~= -1 and y ~= -1 then touchDown(0, 674, 1158); mSleep(29); touchUp(0);endend
4楼 17:00&|来自
从前有个国王和王后生了一个像木炭一样黑的女儿,王后被吓死了,后来国王给她取名字,叫木炭公主。后来国王娶了个狠毒的王后,王后嫌弃公主黑,就把她卖给了猎人,猎人也觉得她丑,就把她卖给了七个小老头。 七个小老头,整天虐待她,她每天要洗衣做饭,晚上还啪啪啪…她受不了这样的生活,便找了个大爷给她做了一个匹诺曹,当玩伴,可是鼻子还没做好的时候,老大爷就死了,她和匹诺曹一起私奔,遇到了大灰狼,她们预谋好了,要杀掉小红帽,抢夺财产,谁知,匹诺曹对小红帽一见钟情,背叛了木炭公主,救出了小红帽,因为这样的行为背叛欺骗了公主,所以鼻子每天都在不挺的长,猪小弟他们跟匹诺曹商议,决定每天切下他的鼻子做房子,大灰狼再也不会推到房子了。 木炭公主伤心欲绝,来到了大海,准备跳海,却看美人鱼,在救一位王子,便把王子抢走,并威胁美人鱼说:“瞅你那逼样,要是跟我抢王子,看我不让你变成吐沫”美人鱼害怕急了,便回了水底,跟巫婆要了毒药服毒自杀了。 变成泡沫的美人鱼,在王子的梦里说:“别娶那娘们儿”王子醒来,他便削发为僧,木炭公主,受不了打击,就去海边划船散心,看见了一只鸟儿再往海里扔石头,便说:“你是精卫吧?我知道你的故事,你上一边儿扔去,你要砸着我咋弄。” 精卫刚走远点,就听见,咚咚咚的声音,然后看到追着太阳的夸父,几口就喝干净了喝水,就说:“卧槽,你个孙子,你特么早点儿来,我也不至于累成这个鸟儿样”木炭公主说:“擦,你这让我划个尼玛啊”便气愤的离开了,走了很久很久,来到了山的那边,看到了蓝精灵,精灵爸爸带着村子里的人把她轰走了,她一生气,一把火烧毁了村子。 在惊慌失措逃跑的时候,拖鞋掉了,阿童木捡到了,便苦苦寻找,当他把拖鞋为公主穿上的时候,公主的心,都被阿童木迷住了,阿童木却被公主吓跑了,公主伤心的泪水,落到了赖蛤蟆身上,突然癞蛤蟆变成了青蛙,对公主说:“你亲我一口就会变漂亮的。”公主亲了青蛙一下,竟然变白了,青蛙突然变成王子,公主陶醉在幸福只中,第二天,公主被卖给了蝎子精,和蝎子精过着还算不错的生活,并且生了七个葫芦娃取名叫复仇者联盟…
5楼 20:23&|来自
登录百度帐号
内&&容:使用签名档&&
为兴趣而生,贴吧更懂你。&或当前位置: >
> oracle移植至mysql相关sql语句一.项目已用到oracle函数的转换1.Oracle中的
oracle移植至mysql相关sql语句一.项目已用到oracle函数的转换1.Oracle中的
xiayall & at
oracle移植至mysql相关sql语句
项目已用到
函数的转换
  示例:
select * from admadjustmoney t where t.sendtime&
to_date( ,'yyyy-mm-dd  
hh24:mi:ss')
and t.sendtime&
to_date( ,'yyyy-mm-dd hh24:mi:ss')
  转换后:
  SELECT *
  FROM `ADMADJUSTMONEY` t
  WHERE t.SENDTIME & STR_TO_DATE(sysdate(), '%Y-%m-%d %h:%i:%s')
  t.SENDTIME & STR_TO_DATE(sysdate(), '%Y-%m-%d %h:%i:%s')
注意表名字段名的大小写
大小写敏感
select distinct
a.id,a.parentId,a.description,a.name,a.status,
NVL(ur.roleid,'')
AS roleid from admrole a left join
admuserrole ur on (a.id = ur.roleid and ur.userid =
and ur.status = 1) where
a.status =
  转换后:
  select
distinct a.id,a.parentId,a.description,a.name,a.status,
IFNULL(ur.roleid,'')
AS roleid from
admrole a left join admuserrole ur on (a.id = ur.roleid and ur.userid =
ur.status = 1) where a.status =
  示例:
  SELECT
DECODE(MAX(PIECECODE), NULL, 0, MAX(PIECECODE)) AS PIECECODE FROM PUBPAGEPIECE
  转换后:
  SELECT if(MAX(PIECECODE) IS NULL, 0, MAX(PIECECODE))
AS PIECECODE FROM PUBPAGEPIECE WHERE 1=1
  或者用
的标准写法
  SELECT
  WHEN MAX(PIECECODE) IS NULL THEN 0
  WHEN MAX(PIECECODE) IS NOT NULL THEN
MAX(PIECECODE)
AS PIECECODE
  FROM PUBPAGEPIECE WHERE 1=1
  示例:
t.aid = v.aid and t.province = v.province and
t.city = v.city and
t.wid = w.id AND
w.startdate&=to_date(
substr( ,1,10)
,'yyyy-MM-dd') and
w.stopdate&=to_date(
substr( ,1,10)
,'yyyy-MM-dd')
  转换后:
t.aid = v.aid and t.province = v.province and
t.city = v.city and
t.wid = w.id AND
w.startdate&=
STR_TO_DATE
substring ( ,1,10)
'%Y-%m-%d'
and w.stopdate&=
STR_TO_DATE
'%Y-%m-%d'
  示例:
  from PUBCOINOPDETAIL where
opervirtualCoin & 0 and status = 1 and operTime &= ADD_MONTHS(TRUNC(SYSDATE,'mm')
and operTime & TRUNC(SYSDATE,'mm')
group by gene , geneType ,accountId
  转换后:
  from PUBCOINOPDETAIL where
opervirtualCoin & 0 and status = 1 and operTime &= DATE_SUB(date_sub(CURDATE(),INTERVAL
day from CURDATE())-1
day),INTERVAL 1 MONTH)
上个月第一天
and operTime & DATE_SUB(date_sub(CURDATE(),INTERVAL
EXTRACT(day from CURDATE())-1 day),INTERVAL 0 MONTH) [
这个月第一天
group by gene , geneType
,accountId
  再次提醒
大小写的问题
避免不必要的
  二.网络资料附表:oracle
的对照表 s:mysql o
S:select abs(-1) value
O:select abs(-1) value from dual
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from dual
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from
dual 1.2346
S:select Exp(1) value 2.0451
O:select Exp(1) value from dual
为底的对数
S:select log(2.0451) value 1
O:select ln(2.0451) value
S:select log10(10) value 1
O:select log(10,10) 1
S:select SQUARE(4) value 16
O:select power(4,2) value from dual 16
S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2
求任意数为底的幂
S:select power(3,4) value 81
O:select power(3,4) value from dual 81
S:select rand() value
O:select sys.dbms_random.value(0,1)
S:select sign(-8) value -1
O:select sign(-8) value from dual -1
S:SELECT PI() value 3.7931
  15.sin,cos,tan
参数都以弧度为单位
  例如:
select sin(PI()/2) value
  16.Asin,Acos,Atan,Atan2
弧度角度互换
(SQLServer
  数值间比较
求集合最大值
S:select max(value) value from
(select 1 value
select -2 value
select 4 value
select 3 value)a
  O:select greatest(1,-2,4,3) value from
求集合最小值
S:select min(value) value from
(select 1 value
select -2 value
select 4 value
select 3 value)a
  O:select least(1,-2,4,3) value from dual
S:select F1,IFNull(F2,10) value from Tbl
O:select F1,nvl(F2,10) value from Tbl
求字符序号
S:select ascii('a') value
O:select ascii('a') value from dual
从序号求字符
S:select char(97) value
O:select chr(97) value from dual
S:select '11'+'22'+'33' value
O:select CONCAT('11','22')
33 value from dual
S:select CHARINDEX('s','sdsq',2) value
O:select INSTR('sdsq','s',2) value from
模糊子串的位置
参数去掉中间
S:select patindex('%d%q%','sdsfasdqe')
没发现,但是
可以通过第四个参数控制出现次数
select INSTR('sdsfasdqe','sd',1,2) value
S:select substring('abcd',2,2) value
O:select substr('abcd',2,2) value from
S:SELECT STUFF('abcdef', 2, 3, 'ijklmn')
O:SELECT Replace('abcdef', 'bcd',
'ijklmn') value from dual
子串全部替换
O:select Translate('fasdbfasegas','fa','
' ) value from dual
S:len,datalength
大小写转换
lower,upper
单词首字母大写
O:select INITCAP('abcd dsaf df') value
左补空格(
的第一个参数为空格则同
S:select space(10)+'abcd' value
O:select LPAD('abcd',14) value from dual
右补空格(
的第一个参数为空格则同
S:select 'abcd'+space(10) value
O:select RPAD('abcd',14) value from dual
S:ltrim,rtrim
O:ltrim,rtrim,trim
重复字符串
S:select REPLICATE('abcd',2) value
发音相似性比较
这两个单词返回值一样,发音相同
S:SELECT SOUNDEX ('Smith'), SOUNDEX
('Smythe')
O:SELECT SOUNDEX ('Smith'), SOUNDEX
('Smythe') from dual
DIFFERENCE('Smithers', 'Smythers')
  日期函数
S:select getdate() value
O:select sysdate value from dual
  直接与整数相加减
S:select convert(char(10),getdate(),20)
O:select trunc(sysdate) value from dual
select to_char(sysdate,'yyyy-mm-dd')
value from dual
S:select convert(char(8),getdate(),108)
O:select to_char(sysdate,'hh24:mm:ss')
value from dual
取日期时间的其他部分
S:DATEPART
(第一个参数决定)
第二个参数决定
    参数
---------------------------------
下表需要补充
year yy, yyyy
quarter qq, q (
month mm, m (m O
dayofyear dy, y (O
day dd, d (d O
week wk, ww (wk O
weekday dw (O
Hour hh,hh12,hh24 (hh12,hh24 S
minute mi, n (n O
second ss, s (s O
millisecond ms (O
----------------------------------------------
当月最后一天
O:select LAST_DAY(sysdate) value from
本星期的某一天(比如星期日)
O:SELECT Next_day(sysdate,7) vaule FROM
字符串转时间
可以直接转或者
cast(''as datetime) value
O:SELECT To_date('
22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;
求两日期某一部分的差(比如秒)
datediff(ss,getdate(),getdate()+12.3) value
直接用两个日期相减(比如
d1-d2=12.3
SELECT (d1-d2)*24*60*60 vaule FROM DUAL;
根据差值求新的日期(比如分钟)
S:select dateadd(mi,8,getdate()) value
O:SELECT sysdate+8/60/24 vaule FROM
求不同时区时间
O:SELECT New_time(sysdate,'ydt','gmt' )
vaule FROM DUAL;
Ydt-------
大西洋标准时间
白令海标准时间
中部标准时间
东部标准时间
格林尼治标准时间
夏威夷标准时间
山区标准时间
纽芬兰标准时间
太平洋标准时间
YST YDT YUKON
  移至常见问题
  一、数据库环境从oracle
碰到的问题。
  因为逻辑不变,所以原则是不改应用程序代码,只改数据库表的创建/
。下面是我们碰到的问题以及解决办法。
、 大小写敏感的区别(
如果服务器
  在oracle
中一般情况下不区分大小写。有时候我们在使用oracle
不注意大小写的问题,表名和字段名不加双引号是不区分大小写的,像这样:insert into tableName
和 insert into
效果是一样的,用工具导出创建/
数据初始化脚本,得到的结果一般表名和字段名转化成了大写。
  但在MySQL
中,所使用操作系统
的大小写敏感性决定了数据库名和表名的大小写敏感性。数据库对应数据目录中的目录,数据库中的每个表至少对应数据库目录中的一个文件(
也可能是多个,取决于存储引擎)
。因此,使用数据库或表实际上是操纵这些文件(
,所以使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。在以linux
为内核的操作系统中是大小写敏感的。
  解决的办法是把mysql
的数据库名和oracle
的大小写保持一致,表名与应用程序中sql
字符串中的表名保持一致,如果应用程序中字段名用了双引号,那请把sql
中的字段名大小写与双引号里的字符保持一致。如果你的应用程序所引用的表名、字段没有统一大小写,那麻烦就大了。
、保留字的区别。
语言的函数名(
如:inteval
等是保留字。Oracle
中保留字是可以作为表名和字段名,并且不影响使用,但mysql
中保留字是不能作为表名和字段名,如果使用会报语法错误。
  解决办法,把sql
语句中的保留字用‘`’
符号引起来,这个符号位于键盘
如果是字段名还有另外一种方法tablename.
字段名。像这样:insert into tablename (id, `interval`) value(…..
或insert into tablename (id, tablename.inteval) value(…..
、数据类型的区别。
  在mysql
中没有像oracle
中的varchar2
有与之对应的varchar
,当然在oracle
中没有mysql
  解决办法是替换。
、自动增长类型的区别。
  Oracle
有sequence
中没有,但有auto_increment
  解决办法是把Oracle
中sequence
转换成使用auto_increment
属性,某些情况可能还有一种办法可以解决问题,新建一个独立的表用来专门记录自动增长型的数据。
、索引长度限制的区别。
  从MySQL 4.1.2
开始,MyISAM
表索引长度支持1000
字节,也就是说索引字段的长度不能超过1000
字节,如果超过会报这样的错:ERROR ):
Specif max key length is 1000 bytes
。如果是UTF-8
编码,相当于333
个字符的长度(
一个字符占3
的索引长度限制比mysql
要宽松得多。
  解决的办法就不必要多说了,要么改索引的定义,要么改字段的定义长度。
  二、为了数据库的兼容性我们应该注意些什么。
  数据库的兼容性应该是数据库设计应该重视的一个问题,因为有时候客户存在已经在用的数据库,并且不希望同时维护两个数据库,这样的话兼容多种数据库还能成为产品的一个卖点。
  作到数据库的兼容性关键是遵守标准用法。
、 遵守标准用法,尽量不使用某种数据库特有的用法。
  如msyql
符号的用法,
  再比如,很多人有这种用法,在使用oracle
开发的时候创建sequence
,往表中插数据之前先SELECT seq.nextval FROM DUAL;
,然后把查询得到的值作为value
插入表中,这种用法没法适应没有sequence
的数据库,每个数据库都有自动增长型的用法,如果需要使用就应该完全地使用。
  再举个例子,不同的数据库对分页查询作了扩展,postgresql
、 避免数据库大小写敏感的问题。
  选择数据库表名和字段名采用大写还是小写,并且在数据库的设计和编码过程中完全统一。
、 保留字。
  要求数据库设计者尽量不使用保留字作表名和字段名。也有很多人有这种用法,在表名和字段名前加‘_’
,像这样:create table _tablename ( _id integer)
。这样永远不会出现保留字引起的问题
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-&&&您需要以后才能回答,未注册用户请先。SqlServer2005存储过程求大神指教_sqlserver吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,649贴子:
SqlServer2005存储过程求大神指教收藏
Create proc dbo.t1
nchar(10),
@returnValue int output
if exists(select * from dbo.t3 where id=@Id)
select @pname=name,@ppsd=ppsd from Test2.dbo.t2 where id=@Id
if ((@pname=@name) and (@ppsd=@ppsd)
set @returnValue=0 --有相同的数据,直接返回值
update dbo.t3 set name=@name,psd=@psd where id=@Id
set @returnValue=2 --有主键相同的数据,进行更新处理
insert into dbo.t3 values(@id,@name,@psd)
set @returnValue=1 --没有相同的数据,进行插入处理
end----------------------------------------------------------------------------------------------------------------以下是报错内容,求大神解惑。
消息 181,级别 15,状态 1,过程 t1,第 9 行不能在 DECLARE 语句中使用 OUTPUT 选项。消息 156,级别 15,状态 1,过程 t1,第 17 行在关键字 'begin' 附近有语法错误。消息 137,级别 15,状态 1,过程 t1,第 18 行必须声明变量 '@returnValue'。消息 137,级别 15,状态 1,过程 t1,第 23 行必须声明变量 '@returnValue'。消息 137,级别 15,状态 1,过程 t1,第 29 行必须声明变量 '@returnValue'。
露珠明明昨天发过帖了,但上次登录时间却是11天前,请问这是怎么设置的!求解
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 mysql sqlserver 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信