--> Title : varbinary转换成字符串
--> Author : wufeng4552
--> Date : 2009-12-15
declare @s varchar(20),@bin varbinary(1000)
select @s='www.CSDN.net',@bin=cast(@s as varbinary(1000))
declare @re varchar(1000),@i int
select @re='',@i=datalength(@bin)
while @i>0
begin
select @re=substring('0123456789ABCDEF',substring(@bin,@i,1)/16+1,1)+
substring('0123456789ABCDEF',substring(@bin,@i,1)%16+1,1)+@re
,@i=@i-1
end
select '0x'+@re
select cast(@s as varbinary(1000))
/*
--------------------------
0x7777772E4353444E2E6E6574
(1 個資料列受到影響)
*/
/*
--------------------------
0x7777772E4353444E2E6E6574
(1 個資料列受到影響)
*/ ......
PHP读取MYSQL数据库或MSSQL数据库时,有时出现乱码,这是PHP.ini中配置和.php页面编码不一致引起的。
解决办法:
1、首先,将PHP.ini中设置为default_charset = "gb2312",然后重启Apache。
这时从数据库中提取的结果集可以正常显示中文了,但.php页面中的列名也有可能显示乱码了。这样解决,
2、然后,PHP.ini页面中<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />设置为gb2312。
当然,可以在“编辑---首选参数---新建文档”中,默认编码选中“简体中文(GB2312)”。以后新建PHP.ini页面时会自动设置为gb2312的编码了。 ......
PHP读取MYSQL数据库或MSSQL数据库时,有时出现乱码,这是PHP.ini中配置和.php页面编码不一致引起的。
解决办法:
1、首先,将PHP.ini中设置为default_charset = "gb2312",然后重启Apache。
这时从数据库中提取的结果集可以正常显示中文了,但.php页面中的列名也有可能显示乱码了。这样解决,
2、然后,PHP.ini页面中<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />设置为gb2312。
当然,可以在“编辑---首选参数---新建文档”中,默认编码选中“简体中文(GB2312)”。以后新建PHP.ini页面时会自动设置为gb2312的编码了。 ......
SQL
insert into table_name(colum1,colum2)
select colum1,colum2
from opendatasource('sqloledb','data source=服务器名;user id=用户名 ;password=密码 ').database_name.dbo.table_name
如执行出现以下错误”sql server 阻止了对组件 \'ad hoc distributed queries\' 的访问“,解决方法如下:
启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
oracle
oracle 中添加配置
test=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.221.0.1)(PORT = 1001))
)
(CONNECT_DATA =
(SERVICE_NAME = servname)
)
)
create public database link linkname connect to 用户名& ......
SQL
insert into table_name(colum1,colum2)
select colum1,colum2
from opendatasource('sqloledb','data source=服务器名;user id=用户名 ;password=密码 ').database_name.dbo.table_name
如执行出现以下错误”sql server 阻止了对组件 \'ad hoc distributed queries\' 的访问“,解决方法如下:
启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
oracle
oracle 中添加配置
test=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.221.0.1)(PORT = 1001))
)
(CONNECT_DATA =
(SERVICE_NAME = servname)
)
)
create public database link linkname connect to 用户名& ......
在电脑上装了个虚拟机,本机装了个MSSQL2000,在虚拟机也装了个MSSQL2000,但是当连接虚拟机上的MSSQL,SQL提示出错,无法连接,觉得很奇怪,因为IP地址是不同的,最后想到了个办法,因为是一台电脑,所以端口1433只有一个,本机占了1433,那么虚拟机就没法用了,想到就做,把虚拟机的端口改成了1500。重启电脑,但是还是不能连接,最后想到了个办法,将连接主机更改为 TCP:10.0.0.4,1500 my god,搞定了,可以连上去了。。(注意只是在查询分析器是这样连接的)
在企业管理器使用同样的方法,连不上服务器,郁闷。。正在想办法呢? ......
--SCHEMATA表提供了关于数据库的信息
select top 10 * from INFORMATION_SCHEMA.SCHEMATA
--TABLES表给出了关于数据库中的表的信息
select top 10 * from INFORMATION_SCHEMA.TABLES
--COLUMNS表给出了表中的列信息。
select top 10 * from INFORMATION_SCHEMA.COLUMNS
--VIEWS表给出了关于数据库中的视图的信息
select top 10 * from INFORMATION_SCHEMA.VIEWS
--ROUTINES表提供了关于存储子程序(存储程序和函数)的信息
select top 10 * from INFORMATION_SCHEMA.ROUTINES
--KEY_COLUMN_USAGE表描述了具有约束的键列
select top 10 * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
--TABLE_PRIVILEGES(表权限)表给出了关于表权限的信息
select top 10 * from INFORMATION_SCHEMA.TABLE_PRIVILEGES
--COLUMN_PRIVILEGES(列权限)表给出了关于列权限的信息
select top 10 * from INFORMATION_SCHEMA.COLUMN_PRIVILEGES
--TABLE_CONSTRAINTS表描述了存在约束的表
select top 10 * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS ......
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
20040912
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004
select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004
select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004
select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
select CONVERT(varchar ......