易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL乱码的问题

在SQL   Server   Unicode字符串常量需要前缀N  
   
  当在SQL  
SERVER里边处理字符串常量的时候你必须在常量之前放一个大写的N,就像SQL  
SERVER连机文档标题为"采用Unicode数据"所说明的那样.N前缀象征着在SQL-92  
标准的国家语言,并且必须是大写字母.如果你在Unicode字符串常量前边不放一个N的话,SQL   Server  
在用它只前会把它转化成当前数据库的非Unicode代码页.  
   
  这个符号必须用来提供和现存的程序的向后兼容.举例,  
"SELECT   'Hello'"   一定要返回一个非Unicode   字符串因为许多的程序依赖于SQL   Server  
6.5,而它是不支持Unicode数据.而新的语法"SELECT   N'Hello'"   被添加从而语序从SQL   Server   7.0和去SQL  
Server   7.0.传递Unicode   字符串.  
   
  任何时候当你向SQL   Server   传递Unicode  
数据的时候你必须在它的前边放上N.如果你的程序支持Unicode而且向SQL   Server   7.0  
传递了未加N的字符串常量,你可能会遇到字符串数据的损失.当   SQL   Server   把一个未加N的Unicode字符串转化成SQL  
Server数据库的代码页,Unicode字符串里边的任何字符,并且在SQL   Server代码页里边不存在的字符将会损失.  
   
 
如果你的程序没有发送向SQL   Server   发送SQL   Server   数据而且客户端的ANSI代码页符合SQL   Server  
代码页,就没有必要加上N,并且你也不会遇到数据的损失.但是,   SQL   Server   7.0  
允许你在安装的时候挑选一种不同于排序次序的Unicode校勘.在某些情况下这可能会导致涉及到有N前缀的字符串和没有N前缀的字符串出现不同的结果.举例,当你安装SQL
  Server   7.0的时候,你选择了二进制排序规则(排序规则在比较非Unicode  
字符串是用),而且选择了常规Unicode作为Unicode校勘(校勘在比较Unicode字符串时用).比较两个非Unicode字符串表达式   ("ABC"
  =   "abc")   会返回失败因为在二进制排序规则里边大写字母A和小写字母a是不相等的.相反的,表达式(N'ABC'   =   N'abc')  


相关文档:

利用hibernate的Query直接执行SQL语句

利用hibernate的Query进行直接执行SQL语句
一、
String sql = "insert into SHOP_MALL_ACCOUNT_MAP_T (MALL_NO,ACCOUNT) values ('"
+ mallNo + "','" + userId + "')";
SQLQuery query = getSession().createSQLQuery(sql);
query.executeUpdate();
二、
String sql = "select to_char(SYN_DATE,' ......

sql 日期转换

Select  
CONVERT(varchar, getdate(), 1),--mm/dd/yy  
CONVERT(varchar, getdate(), 2),--yy.mm.dd  
CONVERT(varchar, getdate(), 3),--dd/mm/yy  
CONVERT(varchar, getdate(), 4),--dd.mm.yy  
CONVERT(varchar, getdate(), 5),--dd-mm-yy  
CONVERT(varchar, getdate(), 1 ......

Oracle和SQL server的数据类型比较


类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......

用SQL语句拼接数据库表中一列的数据

最近在一个项目中遇到需要在数据层就拼接表中一列数据的问题。
例如,test表中有个字段t,t列中的4行数据为1,2,3,4 ,要拼接成1+2+3+4,琢磨了一阵,本来想用游标,但是效率。。后来找到一段SQL,可以很方便地拼接。
DECLARE @STR VARCHAR(8000) ----定义查询字符串
SELECT @STR=ISNULL(@STR+'+','')+t from (SELECT DIST ......

SQL Server2000 中如何查看数据库日志

 在SQL Server2000中,一个数据库的日志是以*.ldf 文件存放,请问我想查看某一个数据库的日志,该如何操作.
方法1、
DBCC LOG('DatabaseName',2)
方法2:
select * from ::fn_dblog(default,default)
方法3
用Log Explorer ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号