欢迎使用优快云-markdown编辑器

本文介绍了使用SQL进行数据查询的方法,包括如何筛选特定日期范围内的记录、获取每月最后一天的数据、字符串操作及处理等实用技巧。

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

SELECT orderid,orderdate,custid,empid
From Sales.Orders where YEAR(orderdate) = 2007 and MONTH(orderdate) = 6;
-- 练习1 返回2007年6月的订单

SELECT orderid,orderdate,custid,empid From Sales.Orders where orderdate = eomonth(orderdate);
-- 练习2 返回每个月的最后一天的订单

SELECT custid, country,region,city FROM Sales.Customers WHERE region = N'WA';
-- 这种写法我也实在不理解!! 不会return null的列 也不会return任何WA的列 仅此而已 直接写 ='WA'结果一样

SELECT custid, country,region,city FROM Sales.Customers WHERE region <> N'WA'; -- 非null和非WA的

-- 字符排序
select * from hr.Employees where lastname = N'davis'; -- 不区分大小写
select * from hr.Employees where lastname collate Latin1_General_CS_AS =  N'davis'; -- return null

-- 字符串连接
select empid, firstname + N' ' + lastname As fullname from hr.Employees;
select custid,country,region,city, country+N','+region+N','+city As location from Sales.Customers;
/*
-- 标准SQL规定 连接NULL的结果应为NULL 所以只要任何一个row为null的话 location就会为null
所以需要一个自动将null变为空字符串的函数来做这个拼接动作
*/
select custid,country,region,city, CONCAT(country,N',',  region,N',',  city) from Sales.Customers;
-- 提取一个字符串
select SUBSTRING('abcde',1,3); -- 从第一个开始取3个  abc...
-- 左边3个 右边3个
SELECT LEFT('abcde',3);
-- len datalength 都会返回字符数量 后者不忽略空格
SELECT DATALENGTH(N'ABCDE '); -- 12
SELECT DATALENGTH(N'abcde '); -- 12 字节数
SELECT LEN(N'abcde '); -- 5 字符数 and 忽略空格
SELECT LEN(N'abcde f'); -- 7 不会忽略中间的空格!!!!!!

-- 返回某个字符串在目标字符中第一次出现的位置
SELECT CHARINDEX('y','woody'); -- 5
-- 返回某种模式第一次出现的位置 所谓模式就似乎 0-9 a-z 或者其他正则
select PATINDEX('%[0-9]%','abcde800efghijklmn');-- 6
-- replace
SELECT REPLACE('2016-12-12','-','/'); -- 2016/12/12
-- 计算lastname中e出现的次数 // thinking 将e变成空 len出来的字数会自动缩水 再由原来的长度来减
SELECT lastname, LEN(lastname) - LEN(REPLACE(lastname,'e','')) AS numoccur from HR.Employees;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值