常用数据库公式记录

常用数据库公式

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

常用数据库公式

前言

一、SqlSever



前言

本文记录报表开发过程中各个数据库语言常用公式,以便复用。 


提示:以下是本篇文章正文内容,下面案例可供参考

一、SqlSever

1.常用SQL

--1.中文月份转化
select
case right(year_mon,2)*1 
when 1 then '一' 
when 2 then '二'
when 3 then '三'
when 4 then '四'
when 5 then '五'
when 6 then '六'
when 7 then '七'
when 8 then '八'
when 9 then '九'
when 10 then '十'
when 11 then '十一'
else '十二' end as assis_months
from table

--2.保留两位小数
select Convert(decimal(18,2),sum(plan_cost)) as plan_cost from table

--3.返回当前时间/年月
select CONVERT(varchar,GETDATE(),120) as '当前时间'--"2020-01-01 02:01:02"
select  convert(char(7),getdate(),120)---2020-09

--4.返回当月/上月/去年
CONVERT(varchar(100),DATEADD(MONTH,0,concat(year_mon,'-01')), 23) as this_mon
CONVERT(varchar(100),DATEADD(MONTH,-1,concat(year_mon,'-01')), 23) as last_mon
CONVERT(varchar(100),DATEADD(MONTH,-12,concat(year_mon,'-01')), 23) as last_year

--5.计算同比、环比需要使用到表格自关联时时间的简便写法,可避免复杂的时间转化
tableA.year*12+month*1  =   tableB.year*12+month*1-12

2.存储过程

--1.含参数的存储过程
--本段不包含参数为空则选择全部的写法

DROP PROCEDURE PRO_COST_FOLLOW;--删除存储过程

execute PRO_COST_FOLLOW '2020','01'--执行含参数的存储过程



create  procedure PRO_COST_FOLLOW
@yyear char(4),
--@mon char(2),
@pro_id char(128)

AS
BEGIN

--SET NOCOUNT ON

delete from 
FILL_PRO_COST_DETAILS
where left(year_mon,4)=@yyear
and fa_acccode='ACC200000'
--and (right(year_mon,2)=@mon)
and (pro_id=@pro_id);

insert into FILL_PRO
(year_mon,pro_id,fa_acccode,chil_accname,plan_cost,actu_cost,update_date,update_user,UPDATE_DATE_PROC)

select 
FILL_FINANCE_ACCOUNT_ACT.dyear+'-'+FILL_FINANCE_ACCOUNT_ACT.dmonth as year_mon,
FILL_FINANCE_ACCOUNT_ACT.pro_name as pro_id,
'ACC200000' as fa_acccode,
acc_name as chil_accname,
FILL_FINANCE_ACCOUNT_BDG.back_budget/12 as plan_cost,
back_actual as actual_cost,
GETDATE() as update_date,
'procedure' as update_user,
getdate() as UPDATE_DATE_PROC
from  FILL_FINANCE_TABLE1
left join FILL_FINANCE_ACCOUNT on FILL_FINANCE_ACCOUNT_ACT.acc_id=FILL_FINANCE_ACCOUNT.acc_id
left join FILL_FINANCE_ACCOUNT_BDG on FILL_FINANCE_ACCOUNT_BDG.acc_id=FILL_FINANCE_ACCOUNT_ACT.ACC_ID and FILL_FINANCE_ACCOUNT_BDG.dyear=FILL_FINANCE_ACCOUNT_ACT.dyear
and FILL_FINANCE_ACCOUNT_BDG.pro_name=FILL_FINANCE_ACCOUNT_ACT.pro_name
and FILL_FINANCE_ACCOUNT_ACT.dyear=FILL_FINANCE_ACCOUNT_BDG.dyear
where FILL_FINANCE_ACCOUNT.parent_id='23b2a06b94f944e493dd2daa4bc74293'
and FILL_FINANCE_ACCOUNT_ACT.dyear=@yyear
--and (FILL_FINANCE_ACCOUNT_ACT.dmonth=@mon)
and FILL_FINANCE_ACCOUNT_ACT.pro_name=@pro_id;
select 1 ;
END

 

 


 
<think>好的,我需要帮助用户下载常用数据库的示例,涉及SQL、MySQL和PostgreSQL。首先,我应该回顾用户提供的引用内容,看看是否有相关的信息可以引用。 用户提到了引用3,其中详细说明了创建数据库表的语法定义,包括多个数据库系统的示例。这可能对用户有帮助,特别是如果他们需要具体的SQL语句来创建表结构。此外,用户还提到分页语句(引用4),但可能更关注示例数据库的下载。 接下来,我需要确定常用数据库示例有哪些。例如,MySQL有Sakila、World、Employees等示例数据库;PostgreSQL有Pagila、DVD Rental等。用户可能需要这些资源来学习或测试。 然后,我需要考虑如何组织回答,确保结构清晰。可能需要分步骤说明,比如选择数据库类型、访问官方网站或GitHub仓库下载,以及安装步骤。同时,要确保使用正确的中文表达,并遵循LaTeX格式要求,比如行内公式用$...$,独立公式用$$...$$,但这个问题中可能涉及较少的数学表达式,更多是代码和步骤说明。 需要检查是否有相关的引用可以支持回答。例如,引用3提到了创建表的语法,用户可能需要这些示例来实践,所以可以引用该部分。同时,引用1提到了云集成工具,可能对用户部署示例数据库到云环境有帮助,但用户当前的主要需求是下载示例,因此可能次要。 另外,用户可能对如何安装和使用这些示例数据库有疑问,因此需要提供具体的下载链接和基本的使用说明。例如,对于MySQL的Sakila数据库,需要指导用户下载并导入。 还要注意用户提到的“常用数据库示例下载”,可能需要覆盖MySQL、PostgreSQL、SQLite和SQL Server,但用户特别提到了SQL、MySQL、PostgreSQL,所以重点放在这三个。 最后,生成相关问题,确保问题与数据库示例下载相关,比如如何导入、使用场景、学习资源等。 现在需要将以上思考整理成结构化的回答,引用相关文献,并确保遵循格式要求。</think>### 常用数据库示例下载指南 以下是获取MySQL、PostgreSQL和SQLite常用示例数据库的详细步骤: --- #### **1. MySQL示例数据库** **推荐示例:** - **Sakila**:模拟DVD租赁业务,包含复杂关系(外键、视图、存储过程)[^3] - **World**:国家、城市和语言的基础数据 - **Employees**:虚构公司员工管理系统 **下载方式:** 1. 访问MySQL官方示例库: - [Sakila数据库](https://dev.mysql.com/doc/sakila/en/) - [World数据库](https://dev.mysql.com/doc/world-setup/en/) - [Employees数据库](https://github.com/datacharmer/test_db) 2. 使用命令行导入(以Sakila为例): ```sql -- 解压后执行 SOURCE /path/to/sakila-schema.sql; SOURCE /path/to/sakila-data.sql; ``` --- #### **2. PostgreSQL示例数据库** **推荐示例:** - **Pagila**:类似Sakila的DVD租赁模型 - **DVD Rental**:包含电影、演员和租赁记录 **下载方式:** 1. 访问GitHub仓库: - [Pagila](https://github.com/devrimgunduz/pagila) - [DVD Rental](https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/) 2. 通过`pg_restore`导入: ```bash pg_restore -d dbname /path/to/dvdrental.tar ``` --- #### **3. SQLite示例数据库** **推荐示例:** - **Chinook**:模拟音乐商店,含多表关联 **下载方式:** 1. 下载地址: - [Chinook Database](https://github.com/lerocha/chinook-database) 2. 直接加载SQL文件: ```sql .read /path/to/chinook.sql ``` --- #### **4. SQL Server示例数据库** **推荐示例:** - **AdventureWorks**:制造业业务模型 - **Northwind**:贸易公司数据 **下载方式:** 访问Microsoft官方文档: - [AdventureWorks](https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure) --- ### **关键应用场景** - **学习SQL语法**:通过示例表练习查询、连接和聚合操作 - **测试性能优化**:验证索引、分页查询(如MySQL的`LIMIT`或PostgreSQL的`OFFSET`)[^4] - **云集成测试**:将示例数据库部署到云环境(参考云服务商文档)[^1] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值