--显示 2^1 ~ 2^4的幂, Power(expressions,y)
declare @value int, @counter int set @value =2 set @counter =1 while @counter < 5 begin select power(@value,@counter) set nocount on set @counter = @counter + 1 set nocount off end
运行结果:
------------------------------------ --下例假定在 ASCII 字符集环境下运行,它将返回字符串"Du Monde entier"中每一个字符的 ASCII 值和 char 字符 SET TEXTSIZE 0 SET NOCOUNT ON declare @position int,@string char(15) set @position = 1 set @string = 'Du monde entier' while @position <= datalength(@string) begin --SELECT ascii(substring(@string, @position, 1)), char(ascii(substring(@string,@position,1))) SELECT ASCII(SUBSTRING(@string, @position, 1)) AS ASCII, CHAR(ASCII(SUBSTRING(@string, @position, 1))) AS Char set @position = @position + 1 end SET NOCOUNT OFF
运行结果:
___________________________________________________________
Len(): LEN 函数返回文本字段中值的长度(汉字和中文标点为长度1,不包含trailing space)。
用法: SELECT LEN(column_name)
DataLength(): 函数返回用于表示任何表达式的字节数(汉字和中文标点为长度2,包含trailing space)。
用法: SELECT DataLENGTH(column_name)
用例:
DECLARE @d VARCHAR(20),--可变长度,非 Unicode 字符数据。
@e NCHAR(20),--n 个字符的固定长度的 Unicode 字符数据。
@f CHAR(20)--固定长度,非 Unicode 字符数据,长度为 n 个字节。
SET @d = 'abc'
SET @e = 'abc'
SET @f = 'abc'
SELECT LEN(@d) AS [LEN],DATALENGTH(@d) AS [DATALENGTH] --3,3
SELECT LEN(@e) AS [LEN],DATALENGTH(@e) AS [DATALENGTH] --3,40
SELECT LEN(@f) AS [LEN],DATALENGTH(@f) AS [DATALENGTH] --3,20
汉字和中文标点个数:SELECT DataLENGTH(column_name) - LEN(column_name)