sql一些常用的方法

博客涉及SQL、SQL Server、Oracle等数据库相关内容,同时提及Go语言,这些均为信息技术领域的重要元素,在后端开发等方面有广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

None.gif1:执行另一服务器上的存储过程
None.gif
None.gif
exec OPENDATASOURCE(
None.gif         
'SQLOLEDB',
None.gif         
'Data Source=远程ip;User ID=sa;Password=密码'
None.gif         ).库名.dbo.存储过程名
None.gif
None.gif
2:将资料插入另一服务器上的表中
None.gif
None.gif
select * into 本地库名..表名 from OPENDATASOURCE(
None.gif         
'SQLOLEDB',
None.gif         
'Data Source=远程ip;User ID=sa;Password=密码'
None.gif         ).库名.dbo.表名
None.gif
None.gif
insert 本地库名..表名 select * from OPENDATASOURCE(
None.gif         
'SQLOLEDB',
None.gif         
'Data Source=远程ip;User ID=sa;Password=密码'
None.gif         ).库名.dbo.表名
None.gif
None.gif或使用联结服务器:
None.gif
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
None.gif
None.gif
None.gif
exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
None.gif
GO
None.gif
None.gif(请注意上面的两步要同时运行)
None.gif
None.gif
None.gif然后你就可以如下:
None.gif
select * from 别名.库名.dbo.表名
None.gif
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
None.gif
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
None.gif
go
None.gif
None.gif
None.gif 
None.gif
None.gif
3:
None.gif
None.gif如果在事务里使用连接服务器要加上
None.gif
None.gif分布式事务:
None.gif两边启动dtc
None.gif
None.gif
set  XACT_ABORT on
None.gif
set ANSI_NULL_DFLT_ON on
None.gif
set ANSI_WARNINGS on 
None.gif
None.gif
BEGIN DISTRIBUTED TRANSACTION
None.gif
select *  from OPENDATASOURCE('MSDASQL','DRIVER={SQL Server};SERVER=ip;UID=sa;PWD=密码;').pubs.dbo.jobs
None.gif
commit tran
None.gif 
None.gif
None.gif
select stockinid,stockindt from stockin as a where a.stockinid in (select b.stockinid from stockindta as b)
None.gif
CONVERT(varchar,p.end_date,121)
None.gif  函数 
CONVERT( ) 带有两个变量。第一个变量指定了数据类型和长度。第二个变量指定了要进行转换的字段。
None.gif  
SELECT CONVERT(varchar(30),getdate(),101) now
None.gif
None.gif  
<!--StartFragment-->CONVERT的使用方法:
None.gif

None.gif
////////////////////////////////////////////////////////////////////////////////////////
None.gif
None.gif格式:
None.gif
CONVERT(data_type,expression[,style])
None.gif
None.gif说明:
None.gif此样式一般在时间类型(
datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
None.gif相互转换的时候才用到.
None.gif
None.gif例子:
None.gif
SELECT CONVERT(varchar(30),getdate(),101) now
None.gif结果为
None.gifnow
None.gif
---------------------------------------
None.gif
09/15/2001
None.gif
None.gif
/////////////////////////////////////////////////////////////////////////////////////
None.gif
None.gifstyle数字在转换时间时的含义如下
None.gif
None.gif
-------------------------------------------------------------------------------------------------
None.gif
Style(2位表示年份)   |  Style(4位表示年份)    |   输入输出格式                                    
None.gif
-------------------------------------------------------------------------------------------------
None.gif
-                    |  0 or 100              |   mon dd yyyy hh:miAM(或PM)              
None.gif
-------------------------------------------------------------------------------------------------
None.gif
1                    |  101                   |   mm/dd/yy                                       
None.gif
-------------------------------------------------------------------------------------------------
None.gif
2                    |  102                   |   yy-mm-dd                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
3                    |  103                   |   dd/mm/yy                                       
None.gif
-------------------------------------------------------------------------------------------------
None.gif
4                    |  104                   |   dd-mm-yy                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
5                    |  105                   |   dd-mm-yy                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
6                    |  106                   |   dd mon yy                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
7                    |  107                   |   mon dd,yy                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
8                    |  108                   |   hh:mm:ss                                         
None.gif
-------------------------------------------------------------------------------------------------
None.gif
-                    |  9 or 109              |   mon dd yyyy hh:mi:ss:mmmmAM(或PM)
None.gif
-------------------------------------------------------------------------------------------------
None.gif
10                   |  110                   |   mm-dd-yy                                         
None.gif
-------------------------------------------------------------------------------------------------
None.gif
11                   |  111                   |   yy/mm/dd                                        
None.gif
-------------------------------------------------------------------------------------------------
None.gif
12                   |  112                   |   yymmdd                                           
None.gif
-------------------------------------------------------------------------------------------------
None.gif
-                    |  13 or 113             |   dd mon yyyy hh:mi:ss:mmm(24小时制)  
None.gif
-------------------------------------------------------------------------------------------------
None.gif
14                   |  114                   |   hh:mi:ss:mmm(24小时制)                    
None.gif
-------------------------------------------------------------------------------------------------
None.gif
-                    |  20 or 120             |      yyyy-mm-dd hh:mi:ss(24小时制)         
None.gif
-------------------------------------------------------------------------------------------------
None.gif
-                    |  21 or 121             |      yyyy-mm-dd hh:mi:ss:mmm(24小时制) 
None.gif
-------------------------------------------------------------------------------------------------
None.gif

None.gif
--------数学函数 
None.gif
  1.绝对值 
None.gif  S:
select abs(-1) value
None.gif  O:
select abs(-1) value from dual
None.gif
None.gif  
2.取整(大) 
None.gif  S:
select ceiling(-1.001) value 
None.gif  O:
select ceil(-1.001) value from dual
None.gif
None.gif  
3.取整(小) 
None.gif  S:
select floor(-1.001) value 
None.gif  O:
select floor(-1.001) value from dual
None.gif
None.gif  
4.取整(截取)
None.gif  S:
select cast(-1.002 as int) value 
None.gif  O:
select trunc(-1.002) value from dual 
None.gif
None.gif  
5.四舍五入
None.gif  S:
select round(1.23456,4) value 1.23460
None.gif  O:
select round(1.23456,4) value from dual 1.2346
None.gif
None.gif  
6.e为底的幂 
None.gif  S:
select Exp(1) value 2.7182818284590451 
None.gif  O:
select Exp(1) value from dual 2.71828182
None.gif
None.gif  
7.取e为底的对数
None.gif  S:
select log(2.7182818284590451) value 1
None.gif  O:
select ln(2.7182818284590451) value from dual; 1
None.gif
None.gif  
8.取10为底对数
None.gif  S:
select log10(10) value 1
None.gif  O:
select log(10,10) value from dual; 1
None.gif
None.gif  
9.取平方
None.gif  S:
select SQUARE(4) value 16
None.gif  O:
select power(4,2) value from dual 16
None.gif
None.gif  
10.取平方根
None.gif  S:
select SQRT(4) value 2
None.gif  O:
select SQRT(4) value from dual 2
None.gif
None.gif  
11.求任意数为底的幂
None.gif  S:
select power(3,4) value 81
None.gif  O:
select power(3,4) value from dual 81
None.gif
None.gif  
12.取随机数
None.gif  S:
select rand() value 
None.gif  O:
select sys.dbms_random.value(0,1) value from dual;
None.gif
None.gif  
13.取符号
None.gif  S:
select sign(-8) value -1
None.gif  O:
select sign(-8) value from dual -1
None.gif  
----------数学函数
None.gif

None.gif  
14.圆周率
None.gif  S:
SELECT PI() value 3.1415926535897931
None.gif  O:不知道
None.gif
None.gif  
15.sin,cos,tan 参数都以弧度为单位
None.gif  例如:
select sin(PI()/2) value 得到1(SQLServer)
None.gif
None.gif  
16.Asin,Acos,Atan,Atan2 返回弧度
None.gif
None.gif  
17.弧度角度互换(SQLServer,Oracle不知道)
None.gif  
DEGREES:弧度-〉角度
None.gif  
RADIANS:角度-〉弧度
None.gif
None.gif  
---------数值间比较
None.gif

None.gif  
18. 求集合最大值
None.gif  S:
select max(value) value from 
None.gif  (
select 1 value
None.gif  
union
None.gif  
select -2 value
None.gif  
union
None.gif  
select 4 value
None.gif  
union
None.gif  
select 3 value)a
None.gif
None.gif  O:
select greatest(1,-2,4,3) value from dual
None.gif
None.gif  
19. 求集合最小值
None.gif  S:
select min(value) value from 
None.gif  (
select 1 value
None.gif  
union
None.gif  
select -2 value
None.gif  
union
None.gif  
select 4 value
None.gif  
union
None.gif  
select 3 value)a
None.gif
None.gif  O:
select least(1,-2,4,3) value from dual
None.gif
None.gif  
20.如何处理null值(F2中的null以10代替)
None.gif  S:
select F1,IsNull(F2,10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值