sql 常用函数的用法
常用函数
select replicate('a1',3)--a1的值重复三次
结果为:a1a1a1
select len('222')
--计算字符的个数结果为
select datalength('222')
--计算字节数,结果为
select datalength(N'222')
-- unicode类型,占用个字节,结果为
select substring('abcde',1,3)
-- 格式:substring(str,start,length)
select left('abcde',2)
--从最左边开始,获取个字符结果:ab
select right('abcde',2)
--从右边开始获取个字符 结果:de
select Ltrim(' abcde')
--删除起始空格
select Rtrim(' abcde ')
--删除字符串尾随空格
select lower('AcD')
--将大写转化为小写
select upper('abc')
-- 将小写转化为大写 结果:ACD
---获取当前时间
select getdate()--result:2009-12-27 16:11:10.030
-- year(date) ,month(date),day(date)
select year(getdate()),month(getdate()),day(getdate())
-- 结果: 2009 12 27
-- datepart(depart,date) depart值可能为:yy 年份,qq或q季度,mm或m为月,dy或y为此日期是本年的第几天
-- dd或d 日数wk或ww此日期是本年的第几周dw:此日期是本周的第几天(:星期天,:星期一。。。:星期五7:星期六)
-- hh:小时mi或n:分钟 ss或s :秒 ms:毫秒
select datepart(yy,getdate()),datepart(mm,getdate())
-- 于datepart功能类似,不过datename返回值为字符串,而前者返回为数字
select datename(yy,getdate());
--dateadd(datpart,number,date)作用:某个时间加上特定的单位时间后,所得的时间是什么
select dateadd(dd,60,getdate())--将当前时间加天后的日期
select dateadd(yy,1,getdate())--将当前时间加上一年后的日期
--DateDiff(datepart,startdate,enddate)计算两日期的之间的差距
select datediff(hh,'2009/12/22 15:00:00','2009/12/26 12:00:00')-- 计算两个时间相差多少小时
---数据转换函数cast(expression as data_type) convert(data_type,expression)
select 'now the time is:' +cast(getdate() as varchar(25))--now the time is:Dec 27 2009 4:35PM
相关文档:
ACCESS SQL语法参考
=================
一. 基础概念
可以使用的数据类型如下:
1. TEXT:文本型(指定长度时),备注型(不指定长度时);
2.
CHAR,NCHAR,VARCHAR,NVARCHAR:文本型,可以指定长度,否则默认值为255!
3. ......
SQL中DATEADD和DATEDIFF的用法
2009-12-10 22:16
固定日期减一个月(日、年)
dateadd(表达式1,表达式2,表达式3)
表达式1为MM或YY或DD
表达式2为1
表达式3为要减的日期
一个月的第一天
第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF ......
sql是关系数据库查询语言,面对的数据库;
而hql是Hibernate这样的数据库持久化框架提供的内置查询语言,虽然他们的目的都是为了从数据库查询需要的数据,但sql操作的是数据库表和字段,
而作为面向对象的hql操作的则是持久化类及其属性。
举一个简单的例子
sql语句
select * from tb_goods where id in (select goodsid f ......
假设如下应用:
两张表——用户表TDefUser(userid,address,phone)和消费表TAccConsume(userid,time,amount),需要查消费超过5000的用户记录。
用exists:
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
用i ......