函数随手练_1



--显示 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(@dAS [LEN],DATALENGTH(@dAS [DATALENGTH] --3,3
SELECT LEN(@eAS [LEN],DATALENGTH(@eAS [DATALENGTH] --3,40
SELECT LEN(@fAS [LEN],DATALENGTH(@fAS [DATALENGTH] --3,20

汉字和中文标点个数:SELECT DataLENGTH(column_name) - LEN(column_name)

猜你喜欢

转载自www.cnblogs.com/CDPJ/p/12951230.html