/*字符串函数*/ --返回ASCII 代码值65 select ascii('A') --返回字符A select char(65) --返回字符串中指定表达式的开始位置 select charindex('java','hello world! This is my firstJava Code',0) /*返回字符串中从左边开始指定个数的字符*/ select left('helloWorld',5) /*返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格*/ select len(' hello World ') /*将大写字符数据转换为小写字符数据后返回字符表达式*/ select lower('HelloWorld~This is My SQL Code') /*返回删除了前导空格之后的字符表达式*/ select ltrim(' hello World ')+'·ddd' /*根据 Unicode 标准的定义,返回具有指定的整数代码的 Unicode 字符*/ select nchar(97) /*返回指定表达式中某模式第一次出现的起始位置*/ select patindex('%d%','hello World ') /*返回带有分隔符的 Unicode 字符串*/ select quotename('a,b,c,d,e,f,g','{}') /*用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串表达式的匹配项*/ select replace('opqrstwwwxyz','www','uvw') /*以指定的次数重复字符表达式*/ select replicate('''',4) /*返回字符表达式的逆向表达式*/ select REVERSE('abcdefg') /*返回字符串中从右边开始指定个数的字符*/ select right('abcdefgok',2) /*截断所有尾随空格后返回一个字符串*/ select rtrim(' hello world· ')+'ddddd' /*返回由重复的空格组成的字符串*/ select 'hello'+space(6)+'world' /*返回由数字数据转换来的字符数据*/ select str(145.4545,8,3) /*删除指定长度的字符,并在指定的起点处插入另一组字符*/ select stuff('agfg',2,1,'bcde') /*返回字符表达式、二进制表达式、文本表达式或图像表达式的一部分*/ select subString('abcdokefg',5,2) /*按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值*/ select unicode('A') /*返回小写字符数据转换为大写的字符表达式*/ select upper('h')+'ello '+upper('w')+'orld'
/**日期和时间函数**/ /*返回给指定日期加上一个时间间隔后的新 datetime 值*/ select dateadd(dd,1,getdate()) /*返回跨两个指定日期的日期边界数和时间边界数*/ select datediff(hh,getdate()-1,getdate()) /*返回表示指定日期的指定日期部分的字符串*/ select datename(dd,getdate()) /*返回表示指定日期的指定日期部分的整数*/ select datepart (dd , getdate()) /*返回一个整数,表示指定日期的天 datepart 部分*/ select day(getdate()) /*返回表示指定日期的“月”部分的整数*/ select month(getdate()) /*返回表示指定日期的年份的整数*/ select year(getdate())
/*数学函数*/ /*返回指定数值表达式的绝对值(正值)的数学函数*/ select abs(-20) /*返回大于或等于指定数值表达式的最小整数*/ select ceiling(45.4545) /*返回 PI 的常量值*/ select pi() /*以近似数字 (float) 表达式返回指定角度(以弧度为单位)的三角正弦值*/ select sin(pi()/2) /*返回指定表达式的指定幂的值*/ select degrees(pi()/2) /*返回一个数值表达式,舍入到指定的长度或精度*/ select round(45.4545,2) /*返回小于或等于指定数值表达式的最大整数*/ select floor(45.4545) /*返回从 0 到 1 之间的随机 float 值*/ select floor(rand()*100)
/*系统函数*/ /*将一种数据类型的表达式显式转换为另一种数据类型的表达式*/ select cast(10.6496 as int) select convert(int,10.6496) select getdate() --2012-09-16 22:11:22.903 select convert(varchar(20),getdate(),101) --09-16-2012 美国 select convert(varchar(20),getdate(),103) --16/09/2012 英国或者法国 select convert(varchar(20),getdate(),104) --16.09.2012 德国 select convert(varchar(20),getdate(),105) --16-09-2012 意大利 select convert(varchar(20),getdate(),112) --20120916 ISO select convert(varchar(20),getdate(),114) --22:26:28:390 时分秒 select convert(varchar(20),getdate(),120) --2012-09-16 22:26:18 /*使用指定的替换值替换 NULL*/ select isnull(null,0.00) /*如果两个指定的表达式等价,则返回空值*/ select nullif('hello','hello')