函 数 LOG LOG10 PI POWER RADIANS RAND ROUND SIGN SIN SQUARE SQRT TAN
计算自然对数
描 述
计算以10为底的对数 返回Pi常量
返回第一个参数对第二个参数的幂的值 把度转化为弧度
生成0到1之间的随机float类型值 把指定参数的值舍入到指定精度
如果参数是负数返回-1,如果是0返回0,如果是正
数返回1
计算指定角(弧度为单位)的正弦值 计算指定表达式的平方 计算平方根 计算正切
下面的技巧会以示例来演示数学函数。
使用数学函数
这个技巧会演示4个不同的数学函数,包括POWER、SQRT、ROUND以及RAND。 第一个示例计算10的2次方:
这个查询返回:
下面的示例计算了100的平方根:
这个查询返回:
这个示例四舍五入一个数字到小数点后的第三位:
这个示例返回一个0到1之间的随机浮点值:
这个查询返回:
本技巧的最后一个示例根据提供的整数值返回一个固定的、浮点数据类型的值:
这个查询返回:
解析
在这个技巧中,我演示了4个不同的数学函数,包括POWER、SQRT、R
OUND以及RAND。每一个函数根据它的操作接受不同的参数。对于一些诸如RAND的数学函数,输入值是可选的。
8.3 字符串函数
下面的一组技巧会演示SQL Server 2005的字符串函数。字符串函数对T-SQL编程非常有用,能让我们进行字符串清除、ASCII和普通字符之间的转换、模式搜索、移除尾部空格等等。
表8-3列出了SQL Server 2005中提供的各种字符串函数。
表8-3 字符串函数
函 数 名 ASCII和CHAR CHARINDEX和PATINDEX DIFFERENCE和SOUNDEX LEFT和RIGHT
描 述
ASCII函数接受字符表达式最左边的字符并返回ASCII码。CHAR函数把ASCII码的整数值转化为字符值
CHARINDEX函数用于返回一个字符串在另外一个字符串中的起始位置。PATINDEX函数和CHARINDEX相似,只是PATINDEX允许在指定要搜索的字符串的时候使用通配符 DIFFERENCE和SOUNDEX都用于计算发音相似的字符串。SOUNDEX为字符串分配一个4位数字码,DIFFERENCE计算两个独立字符串的SOUNDEX输出的相似级别
LEFT函数返回字符串从左起指定个字符数的一部分字符
串。RIGHT函数和LEFT函数相似,只是返回字符串从右起指定个字符数的一部分字符串
LEN和
DATALENGTH LOWER和UPPER LTRIM和RTRIM NCHAR和UNICODE QUOTENAME REPLACE REPLICATE REVERSE SPACE STR STUFF SUBSTRING
LEN函数返回字符串表达式的字符个数,不包括最后一个字符后面的任何空格(尾部空格)。而DATALENGTH返回表达式使用的字节数
LOWER函数返回字符表达式的小写形式,UPPER函数返回字符表达式的大写形式
LTRIM函数移除前导空格,RTRIM函数移除尾部空格 UNICODE函数返回字符表达式或输入表达式的第一个字符的Unicode整数值。NCHAR函数接受一个表示Unicode字符的整数值并把它转化为等价的字符
QUOTENAME函数为Unicode输入字符串增加分隔符使之成为一个有效的分隔标识符
REPLACE函数替换某个字符串中的一个指定字符串的所有示例,并把它替换为新的字符串
REPLICATE函数将某个字符表达式重复指定次
REVERSE函数接受一个字符表达式并且以逆序的字符位置输出表达式
SPACE函数根据为输入参数指定的整数值返回重复空格的字符串
STR函数把数字数据转化为字符数据
STUFF函数删除指定长度的字符并在指定的起始位置插入指定字符串
SUBSTRING函数返回某个表达式中定义的一块
接下来的几个技巧会演示如何使用这些字符串函数。
8.3.1 把字符值转化为ASCII以及把ASCII转回字符
ASCII函数接受字符表达式最左边的字符并返回ASCII码,而CHAR函数将代表ASCII的整数值转化为字符值。再次强调,ASCII只使用字符串的第一个字符。如果字符串是空或NULL,ASCII会返回NULL值(但空格值返回32)。
第一个示例演示如何把字符转化为整数的ASCII值:
这个查询返回:
接着,使用CHAR函数来把整数值再转化回字符:
这个查询返回:
解析
在这个技巧中,我们把“Hello”这个单词拆解成一个一个字符然后使用ASCII函数把它转化成数字的ASCII值。在第二个T-SQL语句中,又使用CHAR函数把ASCII值再转回字符。
8.3.2 返回整数和字符Unicode值
UNICODE函数返回字符或输入表达式的第一个字符的Unicode整数值。NCHAR函数接受一个表示Unicode字符的整数值然后把它转化为等价的字符。如果你需要使用Unicode标准与外部处理程序交换数据,那么这些函数就很有用。
第一个示例把单个字符转化为表示Unicode标准字符代码的整数值:
这个查询返回:
接着,把Unicode整数值转回字符 :
这个查询返回:
解析
在这个技巧中,我们把单词“Good!”拆分成一个一个字符然后使用UNICODE函数把它转化成整数值。在第二个T-SQL语句中,使用NCHAR函数把整数值转回字符。
8.3.3 获取字符串中另一个字符串的起始位置
CHARINDEX函数用于返回一个字符串中另外一个字符串的起始位置。语法如下:
expression1参数是要寻找的字符串。expression2参数是要在其中搜索的字符串。可选的start_ location值指示你希望开始查找的字符位置。
这个示例演示了如何查找一个字符串中另外一个字符串的起始位置:
这个查询返回:
8.3.4 使用通配符找到一个字符串中另一个字符串的起始位置
PATINDEX函数和CHARINDEX类似,只是PATINDEX允许在要搜索的字符串中使用通配符。PATINDEX语法如下:
PATINDEX返回搜索模式第一次出现的起始位置,但是和CHARINDEX不同,它没有起始位置选项。
在本例中,返回Person.Address表中AddressLine1包含单词片断“Olive”的行:
这个查询返回下面部分结果:
解析
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库SQL Server 2005范例代码查询辞典(2)在线全文阅读。
相关推荐: