您的位置:首页 > 编程语言 > C#

C# 代码片段

2013-03-27 13:40 141 查看
取字符串拼音首母

View Code

DECLARE @i INT
DECLARE @j FLOAT
DECLARE @m INT
DECLARE @OUT1 VARCHAR(1)
DECLARE @OUT2 VARCHAR(20)

SET @i = 22
SET @out2 = ' '
WHILE @i >= 1
BEGIN
SET @j = @i / 2
SET @m = @i % 2
SET @i = FLOOR(@j)
SET @OUT1 = CAST(@m AS CHAR(1))
SET @OUT2 = @OUT1 + @OUT2
END

PRINT @OUT2

-- 十进制转二进制和十六的两个函数
--A.调用测试:
--Update MySheet1 set 二进制=  dbo.inttobit(十进制)
--Update MySheet2 set 十六进制=  dbo.inttohex(十进制)
--B.函数内容
--十进制转二进制函数
CREATE FUNCTION dbo.inttobit ( @number INT )
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @i INT
DECLARE @j FLOAT
DECLARE @m INT
DECLARE @OUT1 VARCHAR(1)
DECLARE @OUT2 VARCHAR(20)
SET @i = @number
SET @out2 = ' '
WHILE @i >= 1
BEGIN
SET @j = @i / 2
SET @m = @i % 2
SET @i = FLOOR(@j)
SET @OUT1 = CAST(@m AS CHAR(1))
SET @OUT2 = @OUT1 + @OUT2
END
RETURN @OUT2
END

--十进制转十六进制函数
CREATE   FUNCTION dbo.inttohex ( @i INT )
RETURNS VARCHAR(15)
BEGIN
--declare @i int
--set @i=11259375
DECLARE @r VARCHAR(10)
SET @r = ''
WHILE @i / 16 > 0
BEGIN
SET @r = ( CASE WHEN ( @i % 16 ) <= 9
THEN CONVERT(VARCHAR(1), @i % 16)
WHEN ( @i % 16 ) = 10 THEN 'A'
WHEN ( @i % 16 ) = 11 THEN 'B'
WHEN ( @i % 16 ) = 12 THEN 'C'
WHEN ( @i % 16 ) = 13 THEN 'D'
WHEN ( @i % 16 ) = 14 THEN 'E'
WHEN ( @i % 16 ) = 15 THEN 'F'
END ) + @r
--select @r,@i
SET @i = @i / 16
END
--select @r,@i
IF @i > 0
SET @r = ( CASE WHEN ( @i % 16 ) <= 9
THEN CONVERT(VARCHAR(1), @i % 16)
WHEN ( @i % 16 ) = 10 THEN 'A'
WHEN ( @i % 16 ) = 11 THEN 'B'
WHEN ( @i % 16 ) = 12 THEN 'C'
WHEN ( @i % 16 ) = 13 THEN 'D'
WHEN ( @i % 16 ) = 14 THEN 'E'
WHEN ( @i % 16 ) = 15 THEN 'F'
END ) + @r
-- select @r
RETURN @r
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: