好久没有用到数据库函数了,今天用到了,顺便把以前的也整理一下。个人感觉其实大致都差不多,数据库我只会三种,mysql,sqlserver,oracle,由于oracle实在太占内存了,在公司也没怎么用,今天整理下mysql和sqlserver的吧。
MySQL
字符类:
Copier après la connexion
数学类:
Copier après la connexion
日期类:
1 | ADDTIME (date2 ,time_interval )
|
Copier après la connexion
SQL Server
字符类
1 | select CHARINDEX( 'Ly' , 'My name is ly' )--寻找一个字符在一段字符串中起始的位置select LEN( 'zhangsan' )--获取一段字符串的长度select UPPER( 'Yang' )--将一段小写的字符串转换为大写select LTRIM( ' zhangsan' )--去除一段字符左边的空格select RTRIM( 'zhang san ' )--去除一段字符右边的空格select RIGHT( 'Ly,君子之耀' ,4)--从一段字符串右边返回指定长度的字符select LEFT( 'Ly,君子之耀' ,2)--从一段字符串左边返回指定长度的字符select STUFF( 'abcdefg' ,2,4, '张三' )--从指定的位置删除指定长度的字符串并替换为新的字符串select REPLACE( '扬子之耀' , '扬子' , '君' )--将一段字符串中指定的字符串替换为另一段字符串
|
Copier après la connexion
日期函数
1 | select GETDATE ()--获取当前系统时间select DATEADD(MM,1, '2013-12-2' )--将指定的数值添加到指定的日期段后select DATEDIFF(mm, '1993-6-15' , GETDATE ())--两个时间段中指定的间隔部分select DATENAME(DW, '2013-1-1' )--指定日期字符串中指定时间段的字符串格式select DATEPART(mm, '2013-01-01' )--获取指定日期部分的整数形式
|
Copier après la connexion
数学函数
1 | select RAND()--获取0-1之间的随机float数select ABS (-10)--获取绝对值select CEILING(23.1)--取一个float类型数值的整数形式,向上取整数select FLOOR (23.1)--同上,但此函数为向下取整数select POWER(2,3)--取一个数值的次方select ROUND (199.119,2)--返回一个float型数值的四舍五入形式并取指定的保留小数位数select SIGN(-10)--如果是一个负数则返回-1,如果为正数则返回1,为0则返回0select SQRT(25)--取一个数字的平方根
|
Copier après la connexion
系统函数
1 | select CONVERT(int,12.6)--将一个数据转换为指定的数据类型select DATALENGTH( 'abcde' )--返回一个字符串的长度
|
Copier après la connexion