如题所述
å建å½æ°
create FUNCTION [dbo].[Dec2Bin](@Dec INT, @StrLen INT)RETURNS VARCHAR(31) -- INTå,4åè,æ£æ°è½¬ä¸ºäºè¿å¶å符串æå¤31ä½
AS
BEGIN
DECLARE @BinStr AS VARCHAR(31) -- äºè¿å¶è¡¨ç¤ºçå符串
DECLARE @Div2 AS INT -- å
DECLARE @Mod2 AS INT -- 模/ä½æ°
IF @Dec < 0
RETURN 'NULL' -- ä¸æ¯æè´æ°ç转æ¢
SET @Div2 = @Dec / 2
SET @Mod2 = @Dec % 2
SET @BinStr = ''
WHILE @Div2 <> 0
BEGIN
SET @BinStr = CAST(@Mod2 AS CHAR(1)) + @BinStr
SET @Dec = @Dec / 2
SET @Div2 = @Dec / 2
SET @Mod2 = @Dec % 2
END;
SET @BinStr = CAST(@Mod2 AS CHAR(1)) + @BinStr -- è³æ¤,å·²å®æåè¿å¶å°äºè¿å¶ç转æ¢
IF @StrLen > LEN(@BinStr) -- å¦æç¨æ·æå®çé¿åº¦å¤§äºå®é é¿åº¦ï¼åéè¦å·¦è¾¹è¡¥0
BEGIN
IF @StrLen > 31 -- è¿åçé¿åº¦ï¼æé¿ä¸º32
SET @StrLen = 31
DECLARE @ZeroStr VARCHAR(31) -- éè¦è¡¥å ç"0000..."
DECLARE @OffsetLen TINYINT -- éè¦è¡¥å å 个"0"
SET @ZeroStr = ''
SET @OffsetLen = @StrLen - LEN(@BinStr)
WHILE @OffsetLen > 0
BEGIN
SET @ZeroStr = @ZeroStr + '0'
SET @OffsetLen = @OffsetLen - 1
END
SET @BinStr = @ZeroStr + @BinStr
END
RETURN @BinStr
END
è°ç¨å½æ°
select [dbo].[Dec2Bin](3,8)å ¶ä¸3æ¯è¦è½¬æ¢çæ°åï¼8æ¯æåäºè¿å¶çé¿åº¦ï¼ä¸è¶³ä½çåè¡¥0
追é®è°¢è°¢ä½ ï¼å¤§ç¥ï¼æåäºï¼å¼±å¼±é®ä¸å¥ï¼æ没ææ¯è¾ç®åç¹çè¯å¥å¢ï¼
追ç估计ç®åä¸äºå§ï¼è¦ä¸ä½ å°±æåå段补0é£äºå»æ
追é®é£è¿æ ·ææ1000转æ¢æäºè¿å¶è¿ä¼æ¯1111101000åï¼
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-12-01
convte.tostring(int 2) 家里没有数据库 前面那关键字可能写错了。你试试。
建议你在数据库上安装一个插件 这样方便多了。
建议你在数据库上安装一个插件 这样方便多了。
第2个回答 2020-05-30
这个要看错误日志的
sql服务启动不了有好几个常见的问题,类似于破解版失效,ip配置错误啊,
看看日志文件c:\program
files\microsoft
sql
server\mssql类似目录下找到日志文件
不一定是这个地址,可以试试
sql服务启动不了有好几个常见的问题,类似于破解版失效,ip配置错误啊,
看看日志文件c:\program
files\microsoft
sql
server\mssql类似目录下找到日志文件
不一定是这个地址,可以试试