sql二进制转换
‘壹’ 求大神指导,如何在sql语句中进行二进制运算
二进制?可是我怎么在你的查询结果中看到4,4是怎么来的?
另外根据你提供的内容,我也有点疑惑。你说的“例如10,包含星期一星期二”,那么假设每星期三是船期,那么这个二进制怎么表示?
个人觉得二进制的存储办法是一个7位数的二进制串,有船期显示1,无船期显示0.如果是周一到周三那么就是0000111(也可能调过来),如果是周一和周三,那么就可能是0000101。可是感觉数据库不是这么存的,反正我没看懂。
‘贰’ 怎样在sqlserver2008中用sql语句操作二进制数据
sqlserver之二进制和字符串sql语句
正常情况下我们对数据库的操作就是如下的写法来操作数据库
SELECT TOP 10 ID AS 编号,BookName AS 书名 FROM dbo.books ORDER BY ID;
UPDATE dbo.books SET BookName='新的书名' WHERE ID=1233;
DELETE FROM dbo.books WHERE ID=122
但是在客户正在使用的数据库里,我们开发人员一般不能够直接操作数据库,但是会给我们做一个网页以便方便我们核对数据,查找错误,但是这种情况下一般都会屏蔽一些关键词,比如update delete,create,alter神马的,一般请客下对客户数据库的操作都得严格按照公司流程来走,这种情况下效率一般都会很低,在这里还有一种情况可以直接让我们对数据库做更改,那就是首先将字符串以二进制的形式骗过后台程序,以便发送到数据库中去执行,如下:
DECLARE @S NVARCHAR(4000)
SET @S=CAST( AS VARCHAR(max))
PRINT @S
EXEC(@S)
下面便是直接把sql语句转换成二进制
DECLARE @str VARCHAR(MAX),@bary VARBINARY(MAX)
SET @str='SELECT TOP 10 ID AS 编号,BookName AS 书名 FROM dbo.books ORDER BY ID;'
--将字符串转换成二进制对象
SET @bary= CAST(@str AS VARBINARY(MAX))
PRINT @bary
--将二进制对象转换成字符串
SET @str=CAST(@bary AS VARCHAR(max))
--执行sql脚本
EXEC(@str)
‘叁’ sql Server如何编写函数实现把十进制数转换为二进制数求大神相助!!
创建函数
createFUNCTION[dbo].[Dec2Bin](@DecINT,@StrLenINT)
RETURNSVARCHAR(31)--INT型,4字节,正数转为二进制字符串最多31位
AS
BEGIN
DECLARE@BinStrASVARCHAR(31)--二进制表示的字符串
DECLARE@Div2ASINT--商
DECLARE@Mod2ASINT--模/余数
IF@Dec<0
RETURN'NULL'--不支持负数的转换
SET@Div2=@Dec/2
SET@Mod2=@Dec%2
SET@BinStr=''
WHILE@Div2<>0
BEGIN
SET@BinStr=CAST(@Mod2ASCHAR(1))+@BinStr
SET@Dec=@Dec/2
SET@Div2=@Dec/2
SET@Mod2=@Dec%2
END;
SET@BinStr=CAST(@Mod2ASCHAR(1))+@BinStr--至此,已完成十进制到二进制的转换
IF@StrLen>LEN(@BinStr)--如果用户指定的长度大于实际长度,则需要左边补0
BEGIN
IF@StrLen>31--返回的长度,最长为32
SET@StrLen=31
DECLARE@ZeroStrVARCHAR(31)--需要补充的"0000..."
DECLARE@OffsetLenTINYINT--需要补充几个"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
‘肆’ SQL server 2008十进制转二进制
第三行是给变量赋值,单引号就代表赋值为空呀~
倒数第三行和上边的代码都是算法呀~如果没看出这里应该是除2取余转的二进制~
‘伍’ SQL数据库一字段名被加密后,所有内容显示的二进制的,可以转换为中文吗
不可以
因为这个字段可能存储的是文件,也有可能是加密后的字符
所以不知道怎么转换,只有知道这个字段是怎么定义的,才可以把内容读出来
‘陆’ 如何把用SQL语句int型整数转换成二进制数
您好:
提供一个函数,请查收
CreateFUNCTIONDecToBin(@DecInt)
RETURNSVARCHAR(16)
AS
begin
declare@BinStrasvarchar(20)
declare@Mod2asint
declare@Div2asint
set@Div2=@Dec/2
set@Mod2=@Dec%2
set@BinStr=''
while@Div2<>0
begin
if@Mod2=0
set@BinStr=@BinStr+'0'
else
set@BinStr=@BinStr+'1'
set@Dec=@Dec/2
set@Div2=@Dec/2
set@Mod2=@Dec%2
end
set@BinStr=@BinStr+'1'
returnREVERSE(@BinStr+right('0000000000000000',16-len(@BinStr)))
end
‘柒’ SQL数据库二进制数如何转换
C# 保存
openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP"; if(openFileDialog1.ShowDialog()==DialogResult.OK) {
string fullpath =openFileDialog1.FileName;//文件路径 FileStream fs = new FileStream(fullpath, FileMode.Open); byte[] imagebytes =new byte[fs.Length]; BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length)); //打开数据库
SqlConnection con = new
SqlConnection("server=(local);uid=sa;pwd=;database=test"); con.Open();
SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);
com.Parameters.Add("ImageList", SqlDbType.Image); com.Parameters["ImageList"].Value = imagebytes; com.ExecuteNonQuery(); con.Close();
‘捌’ sqlserver中二进制流数据转成图片并保存到mysql中怎么操作
建议将
二进制数据
转成图片后,以文件形式保存,mysql只要保存该文件的文件存在
位置信息
即可。
‘玖’ sql查询中,我如果想把一个二进制的字段转义成中文意思,该执行什么语句呢 例如:我
还得添加字段2 名字为 hanyi 得往里添加数据
然后用查询语句就可以了
‘拾’ sql server 2008 如何使图片变为二进制
Sql不会使图片变成二进制,你要在写程序的时候把图片转换成二进制来进行存储