【澳门金沙vip】常用数据库函数对比

select * from yourdb where sj>=’2002-3-2′ and sj<= ‘2003-7-8’

所有查询条件都一定包含 one_type和two_type。

4、日期时间格式化

 这样以来,我们取得数据内容就是2002年3月2日0点以后到2003年7月8日0点(也就是7月7号12点之前)之间的内容,这个当然不是我们想要的,所以需要使用mysql的时间函数to_days()来写这个sql:

1、需求:根据两个条件one_type和two_type查询一条数据,同一个one_type=1190对应多个two_type。

3、上面清除空格相反的操作,添加空格

select * from t_ads a where a.adsPosId = 1 and TO_DAYS(NOW()) >=
TO_DAYS(a.beginDate)

(1)OR 优先级 比AND低。所以要先执行OR两边的AND,最后执行OR。

Microsoft SQL Server [returns NULL when foo equates to ‘Wabbits!’]
  Select NULLIF(foo, ‘Wabbits!’)
  GO

 

ALTERTABLEt1 CHANGE column_b column_b BIGINTNOTNULL;

4、字符串替换

 

WHERE TO_DAYS(NOW()) – TO_DAYS(date) <= 30;

1、字符串中包含字符

 

但是其他,比如one_type=1001则没有two_type(null)。

Microsoft SQL Server
  Select SUBSTRING(‘wabbit_duck_season’, 7, 11)
  GO

mysql数据库取得某一段时间内的纪录

————————————————

MySQL 返回日期和时间
  Select NOW();

select * from yourdb where to_days(sj)>=to_days(‘2002-3-2’) and
sj<= to_days(‘2003-7-8’)

MySQL
  Select FROM_DAYS(TO_DAYS(CURDATE()) –
  TO_DAYS(‘2001-11-25’));

 

感觉修改字段名用change。

三、条件判断

 

(2)比较天数可以用TO_DAYS()方法。

Microsoft SQL Server [returns ‘wabbit_hunting_season’]
  Select STUFF(‘wabbit_season’, 7, 1, ‘_hunting_’)
  GO

一般来说,我们在mysql数据库纪录数据时间时,都会选择datatime类型,这样时间可以精确到秒。但随之而…

ALTERTABLEt1 CHANGE column_a column_b INTEGER;

MySQL
  Select DAYNAME(CURDATE());

 现在,我们所取得就是我们想要的结果了。

ALTER TABLE buy_supplier_inspect MODIFY `last_turnover`
decimal(12,2) DEFAULT NULL COMMENT ‘上一年营业额’;

PostgreSQL
  Select TO_CHAR (timestamp(CURRENT_DATE),’dd-Mon-yyyy hh:mi:ss PM’);

and TO_DAYS(NOW()) < TO_DAYS(a.endDate)

TO_DAYS函数 返回一个从年份0开始的天数 。

PostgreSQL
  Select NULLIF(foo, ‘Wabbits!’);
函数语法:NULLIF(expression1, expression2)
如果 expression1 等于 expression2则返回
NULL,如果expression1的值为null,也返回NULL

 

select contact_email from buy_supplier_manager_email where
one_type=1190 and (select count(two_type) from
buy_supplier_manager_email where one_type=1190)!=0 and
two_type=1191 and yn=1 or one_type=1190 and (select count(two_type)
from buy_supplier_manager_email where one_type=1190)=0 and yn=1

PostgreSQL

比如我要取这样的广告位 :广告位id为1,并且时间上前后限定;

参数可以是字符串,也可以是date类型。

datetype 为month, day, week, day of week
等,而第二个参数为包含日期类型的字段或者一个真实

一般来说,我们在mysql数据库纪录数据时间时,都会选择datatime类型,这样时间可以精确到秒。但随之而来的一个问题是,当我们要取得某一段时间内的数据内容会有一些时间转换上的麻烦,例如我们要取得2002年3月2日到2003年7月8日的这段时间的内容,我们第一个直觉就是应该将sql写成下面的形式:

modify不可以修改字段名。与change相比就是这样的差距。

PostgreSQL
  Select CASE
      WHEN foo = ‘hi’   THEN ‘there’
      WHEN foo = ‘good’ THEN ‘bye’
      ELSE ‘default’
  END
  FROM t2;

 

4、解析:第一个条件一定执行,第二个条件则根据数据库字段two_type是否存在。与输入不冲突。

二、字符串操作

17.12.5

通过上面的这些函数可以确定字符串在另一个字符串中的位置(及另一个字符串包含这个字符串的位置)。

change和modify的区别不明显,change可以修改字段名,如果只修改属性也需要带上新旧字段名。

oracle
  Select DECODE
     (payments_info,’CR’,’Credit’,’DB’,’Debit’, null)
  FROM dual;

——————————————————

oracle [returns ‘wabbit_hunting_season’]
  Select
     REPLACE(‘wabbit_season’,’it_’,’it_hunting_’)
  FROM dual;

18.3.21

Microsoft SQL Server
  Select CONVERT(VARCHAR(11), GETDATE(), 102)
  GO

修改属性,必须把全部属性都带上。

3、时间间隔,在一些应用中需要知道两个时间间隔多远

select * from buy_supplier_manager_email where one_type=1190 and
(two_type=1191 or two_type is null);

MySQL [returns ‘wabbit_hunting_season’]
  Select
     REPLACE(‘wabbit_season’,’it_’,’it_hunting_’);

——————————————————————

期中拿到所需要的子域,日期,小时,分钟等。

5、结论:sql还要好好学一下!

oracle
  Select TO_DATE(’25-Nov-2000′,’dd-mon-yyyy’) –
  TO_DATE(’25-Aug-1969′,’dd-mon-yyyy’)
  FROM dual;