求字段长度
SELECT
DATALENGTH(字段)
FROM
表名
求字段的最大长度
SELECT
MAX (DATALENGTH(字段))
FROM
表名
查询数据库中所有表数据量
不需要做修改,直接执行即可,时间较长,不建议在生产环境执行
DECLARE @SQL VARCHAR(MAX)
SELECT @SQL=ISNULL(@SQL+'
UNION ALL ','')+'SELECT '''+NAME+''' AS TB,COUNT(1) AS TOTAL FROM ['+NAME+']'
FROM SYS.TABLES
EXEC (@SQL)
按照条件将结果封装成特定格式
SELECT
CASE
WHEN STATE = 20 THEN '待发货'
WHEN STATE = 30 THEN '已发货'
WHEN STATE = 40 THEN '已收货'
ELSE '其他' END
FROM mall_order
创建索引、查询索引
----创建聚集索引
create clustered index 索引名称 on 表名(列名)
----创建非聚集索引
create index 索引名称 on 表名(列名)
----查看索引
sp_helpindex 表名
UNION ALL
union的多个源只能使用一个order by,想要每个源都是用order by需要在外面加一层
SELECT a.* FROM(
SELECT top(100) * from goods where type = 2
ORDER BY SALE_NUM DESC )a
UNION ALL
SELECT b.* FROM(
SELECT top(100) * from goods where type = 1
ORDER BY SALE_NUM DESC )b
某段时间内每一天的交易额
------------ORDER_INFO:表名,ORDER_TIME:下单时间,ORDER_AMOUNT:订单金额
select year(ORDER_TIME) '年', month(ORDER_TIME) '月',
day(ORDER_TIME) '日', SUM(ORDER_AMOUNT) userNum
from ORDER_INFO
where ORDER_TIME BETWEEN
'2018-11-01 00:00:01' AND '2018-12-01 00:00:01'
group by year(ORDER_TIME), month(ORDER_TIME), day(ORDER_TIME)