SQL 点滴

1.

--(低效) 
select * from OrderDetails d where d.OrderID in (select OrderID from Orders); 
--(高效)
select * from OrderDetails d where exists (select null(或者用*代替) from Orders m where d.OrderID=m.OrderID); 

2、说明:拷贝表(拷贝数据,源表名:目标表名:b) (Mysql DB)

需要先建b表的表结构,将现有表b
insert into b(a, b, c) select d,e,f from b;

→SQLServer DB, (oldTabName)备份(直接生成newTabName)

select * into newTabName from oldTabName

3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘
具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

4说明:替换字段内容显示项(只是显示成新内容,并没有修改数据)
select * from 

(SELECT    
    OrderID,    
    CASE CustomerID   
        WHEN 'VINET' THEN N'hangyouu'  --'VINET' 为CustomerID字段的内容
        ELSE N'女'  
    END AS CustomerID   
FROM Orders) v  where v.CustomerID=N'panxy'

5、テーブル調整SQL文
●テーブルデータの削除(快速)
TRUNCATE TABLE  テーブル名
●テーブルの削除
DROP TABLE テーブル名
●カラム種類の更新
ALTER TABLE テーブル名 ALTER COLUMN カラム名 VARCHAR (256)
●カラムの削除
ALTER TABLE テーブル名  DROP COLUMN カラム名
●カラムの追加(注:後ろから追加する)
ALTER TABLE テーブル名  Add カラム名 varchar(1)

6、char(18) to DateTime
--20160307122351.318
SELECT CONVERT(DateTime,'2013-01-02 15:04:05', 120),getdate()

SELECT  substring('20160307122351.318',0,5) + '-' + substring('20160307122351.318',5,2) + '-' + substring('20160307122351.318',7,2) + ' ' +
  substring('20160307122351.318',9,2)  + ':' +
  substring('20160307122351.318',11,2) + ':' +  
  substring('20160307122351.318',13,2)
7、日付差分日時数
SELECT DATEDIFF(day,CONVERT(DateTime,'2013-01-02 15:04:05', 120),GETDATE())
8、条件は差分日時数の設定
... WHERE DATEDIFF(day,CONVERT(DateTime,'2013-01-02 15:04:05', 120),GETDATE()) > 30--> >30日


随用随添...大笑



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值