首页 > 开发 > 综合 > 正文

在Transact-SQL语句中如何用常量来表示二进制形式的数据?

2024-07-21 02:07:11
字体:
来源:转载
供稿:网友
  • 网站运营seo文章大全
  • 提供全面的站长运营经验及seo技术!
  •   二进制数据可能是图像、声音或任何其他数据。如果我们能够把这些二进制以常量的形式表示,我们就可以直接用transcat-sql语句来插入和更新数据表中的这些数据。
      其实,transcat-sql已经给我们提供了方法,那就是二进制常量格式。这个格式是以“0x”开头,后面跟若干十六进制数字,每个字节用两位十六进制数来表示。因此,你完全可以将那些图像声音数据转换成这种二进制常量格式,然后用于insert或update语句中。
      不过,这样的二进制常量将很长很长。这样一来sql语句很难翻看,而且在某些行的长度有限制的编辑器中还会出问题。
      那么,又没有给二进制常量折行的办法呢?
      很遗憾,我查遍transact-sql的联机帮助,搜遍了网络,都没有答案。
      难道就真的没办法?
      路从来都是有人走过以后才能成其为路。也许前人曾经走过,而后人不知道。甚至,路本来就在那里,而你敢不敢走?
      于是,冒险开始:
      我将那个长长的二进制常量强行折断,执行,出错...
      在前面一行加“_”,vb的折行符号,出错...
      换成“/n”,c,c++字符串的折行符号,出错...
      用引号引起来,出错...
      换双引号,出错...
      ...,出错...
      ...,出错...
      ...,出错...
      前面一行就加“/”,成功!
      我有点不敢相信,再试,成功!

      稍微惊喜之后,我立刻保持冷静:插入的数据是否正确呢?
      立即,编写程序验证,完全正确!
      

      原来“/”是二进制常量的换行符,路就在那儿!

    李战.深圳 2004-10-14
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表