SqlServer
文章平均质量分 50
icecoola_
这个作者很懒,什么都没留下…
展开
-
SQL Server2008常用函数_1.字符串函数
SQL Server2008函数大全(完整版) SQLServer常用内置函数解析SQL2008 表达式:是常量、变量、列或函数等与运算符的任意组合。1.字符串函数函数 名称 参数 示例 说明ascii(字符串表达式) select ascii(‘abc’) 返回 97 返回字符串中最左侧的字符的ASCII 码。Nchar(整数表达式) 返回具有给...转载 2018-03-22 17:10:14 · 1559 阅读 · 0 评论 -
SqlServer_查询数据库是否包含某一字段
查询数据库是否 包含某一字段SELECT t.name AS table_name,SCHEMA_NAME(t.schema_id)AS schema_name,c.name AS column_name , types.name, c.max_lengthFROM sys.tables AS tINNER JOIN sys.columns c ON t.OBJECT_ID ...原创 2018-06-13 10:00:11 · 5527 阅读 · 0 评论 -
sql_不使用or查询 0 和null_ISNULL(a.status,0)=0 和 case when else end
` 三种状态: 0 1 null ` 查询 0 和 null 方法一: 不使用 or isnull()select a.status ,a.* from t_table a where ISNULL(a.status,0)=0 and a.isDelete =...原创 2018-01-24 21:56:17 · 1915 阅读 · 0 评论 -
SqlServer_查询带有null的记录
字段的三种不同状态select distinct region from f_agent(NULL)MMQZLQ不同状态的记录数select count(1) from f_agent 35709select count(1) from f_agent where region = 'MMQ' 17579 MMQselect count(1) from f_age...原创 2018-06-08 15:11:39 · 8203 阅读 · 0 评论 -
SqlServer_保留两位小数_个位显示0_0.00
Sql Server 保留几位小数的两种做法1. 使用 Round() 函数,如 Round(@num,2) 参数 2 表示 保留两位有效数字。2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换, decimal(18,2) 指定要保留的有效数字。 这两个方法有一点不同:使用 Round() 函数,如果 @num 是常数,如 Ro...转载 2018-06-29 17:31:21 · 20082 阅读 · 0 评论 -
SqlServer_int_varchar类型转换
int 转 varchardeclare @i intset @i=1convert(varchar,@i)varchar 转 int declare @str varcharset @str='1'convert(int,@str) sql将int型与varchar型转化转载 2018-07-16 21:13:01 · 51740 阅读 · 0 评论 -
SqlServer_去空值模糊查询
sqlselect count(1) from t_table where name like '%'+ltrim(rtrim(' testName'))+'%'select count(1) from t_table where name like '% testName%'select count(1) from t_table where name like '%t...原创 2018-07-20 14:53:42 · 1253 阅读 · 0 评论 -
sqlserver_时间格式化_年月日
convert(varchar,datepart(yy,inputDate))+'年'+convert(varchar,datepart(mm,inputDate))+'月'+convert(varchar,datepart(dd,inputDate))+'日' datepart(yy,inputDate) 提取年 为int类型 再进行类型转换 convert(varchar,@in...原创 2018-08-21 11:47:54 · 8107 阅读 · 0 评论 -
[Err] 42000 - [SQL Server]参数数据类型 text 对于 replace 函数的参数 1 无效。
**原执行sql:**在content列,修改test111111为testStr2222222update t_table set content= replace(content,'test111111','testStr2222222')修改后执行sql:update t_table set content= replace(convert(varchar(8000),conte...原创 2018-11-13 09:59:25 · 2035 阅读 · 0 评论 -
SQLServer_CHARINDEX函数_获取字符串中特定内容的下标
CHARINDEX语法CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )参数expressionToFind一个字符表达式,其中包含要查找的序列。 expressionToFind 限制为 8000 个字符。expressionToSearch要搜索的字符表达式。start_loc...转载 2018-11-15 17:10:21 · 6691 阅读 · 0 评论 -
SQLServer_字符串截取相关函数_replace_substring_charindex
SQL Server2017从左截取 LEFT参数1:要截取的字符串,参数2:截取字符个数LEFT ( character_expression , integer_expression ) 从右截取 RIGHT参数1:要截取的字符串,参数2:截取字符个数RIGHT ( character_expression , integer_expression ) 获取表达式长...原创 2018-11-16 17:39:49 · 2061 阅读 · 0 评论 -
SQLServr_数据库插入UID唯一标识
sqlserver:insert into t_table(id) values (newid());oracle:insert into t_table(id) values (sys_guid());mysql:insert into t_table(id) values (UUID());原创 2018-11-23 14:42:14 · 4095 阅读 · 0 评论 -
SQLServer_除法_百分比_小数计算
sqlSELECT Convert(decimal(18,2),-1604) /Convert(decimal(18,2),(27615-(-1604))) *100SELECT 1604/((27615+1604)*1.0) *100select cast(round((1604/((27615+1604)*1.0))*100,2) as varchar)+'%'select cast(...原创 2019-01-04 15:54:57 · 11598 阅读 · 0 评论 -
SQLServer_where添加类似ifelse条件(casewhen)
java if (status!=null && !status.equals("")) { wheresql+="AND ISNULL(h.address, '') = 'hangzhou' "; if (status.equals("1")){//是 wheresql+=" and y.is=1原创 2019-01-11 15:20:14 · 15041 阅读 · 0 评论 -
SQLServer_convert时间保留_年月日时分秒
convert(varchar,inputTime,120)substring( convert(varchar,inputTime,120),1,19)2019-11-11 11:11:11SQL Server2008常用函数_4. 数据类型转换函数sqlserver_时间格式化_年月日SQL Server2008常用函数_2. 日期和时间函数SqlServer_日期格式说明...原创 2019-01-11 16:14:15 · 8636 阅读 · 0 评论 -
SQLServer_case_when_存在即是
select top 1 case isYes when '是' then '是' else '否' end from t_table where t_id=tid and isYes= '是'有问题 ; 无法显示否 isYes 是 否 null显示 是 否select top 1 case when count(1)>0 then '是' else '否' en...原创 2019-06-12 11:33:24 · 1475 阅读 · 0 评论 -
SqlServer_分组并取最新一条数据
分组取最新一条数据select temp.userId from (SELECT *, (partition by userId ORDER BY inputTime desc) as rank FROM t_table ) temp where rank = 1 and temp.auditTime is null原创 2018-06-11 17:31:01 · 8948 阅读 · 0 评论 -
sql 查询列 进行 拼接 单引号 逗号_xml path excel
将查询到的记录,使用Excel 拼接="'"&A1&"',"原创 2018-05-25 09:28:08 · 1925 阅读 · 0 评论 -
SqlServer_with_as的使用
SQL With As 用法 How does WITH work in MS SQL Server?一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分,作为提供数据的部分。对于UNION ALL,使用WIT...转载 2018-04-19 20:21:48 · 471 阅读 · 0 评论 -
SQL Server2008常用函数_2. 日期和时间函数
2. 日期函数函数名称 参数 示例 说明dateadd(日期部分,数字,日期) select dateadd(year,45,’1990-12-11’) 返回 2035-12-11 00:00:00.000 select dateadd(month,45,’1990-12-11’) 返回 1994-09-11 00:00:00.000 select ...原创 2018-03-22 17:41:49 · 3122 阅读 · 0 评论 -
SQL Server2008常用函数_3. 数值处理函数
3.数值处理函数函数名称 参数 示例 说明abs(数值表达式) select abs(-23.4)返回 23.4 返回指定数值表达式的绝对值(正值)pi()无参数 select pi()返回 3.14159265358979 返回π的值cos(浮点表达式) select cos(pi()/3)返回 0.5 返回指定弧度的余弦值si...原创 2018-03-22 18:51:50 · 922 阅读 · 0 评论 -
SQL Server2008常用函数_4. 数据类型转换函数_convert_cast
4. 数据类型转换函数 convert 在进行日期转换时提供了丰富的样式, cast 只能进行普通的日期转换函数名称 参数 示例 描述convert(数据类型[(长度)],表达式[,样式]) select convert(nvarchar,123) 返回123 select N’年龄:’+convert(nvarchar,23) 返回 年龄:23(注意...原创 2018-03-22 19:11:58 · 3292 阅读 · 0 评论 -
SQL Server2008常用函数_5. 系统函数
5.系统函数函数名称 参数 示例 描述newid()无参数 select newid() 返回 2E6861EF-F4DB-4FFE-85EA-638242F2E5F2 select newid() 返回 09BBDE6F-47C2-4E2E-81E8-AFC50592280C 返回一个GUID(全局唯一表示符)值isnumeric(任意表达式) se...原创 2018-03-22 19:27:14 · 282 阅读 · 0 评论 -
SQL Server2008常用函数_6.聚合函数
6.聚合函数 聚合函数对一组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。聚合函数的常用使用格式:函数名([all|distinct] 表达式)all:默认值,对所有的值进行聚合函数运算包含重复值。distinct: 消除重复值后进行聚合函数运算。函数名称 示例 描述...原创 2018-03-22 19:28:16 · 962 阅读 · 0 评论 -
sql_ROW_NUMBER() OVER(),partition by,rank(),dense_rank()分组以及排序
1、row_number() over()排序功能:(1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where group by order by 的执行。 partition by 用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,它和聚合函数不同的地方...转载 2018-03-30 08:40:48 · 3033 阅读 · 0 评论 -
sql_exists,any,in,not
SQL中EXISTS的用法sql中exists,not exists的用法Sql中EXISTS与IN的效率问题对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。select * from A where id in (select id from B);select * from A where exists (select ...转载 2018-03-30 10:31:15 · 398 阅读 · 0 评论 -
SqlServer_日期格式说明
SqlServer_日期格式说明日期和时间数据类型下表列出了 Transact-SQL 的日期和时间数据类型.数据类型格式范围精确度存储大小(以字节为单位)用户定义的秒的小数精度时区偏移量timehh:mm:ss[.nnnnnnn]00:00:00转载 2018-03-30 10:59:24 · 4222 阅读 · 0 评论 -
sql_LEFT [OUTER] JOIN,RIGHT [OUTER] JOIN,FULL [OUTER] JOIN,CROSS JOIN,INNER JOIN
select count(1) from t_student 32239select count(1) from t_class 1190select count(1) from t_student a JOIN t_class b on a.shop_id = b.id 26941====CROSS JOIN 交叉连接CROSS JOIN (注:cross join...原创 2018-03-16 11:19:38 · 228 阅读 · 0 评论 -
SqlServer_update set from的用法整理
SqlServer update set from的用法整理update set from 常用格式:---不使用别名UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A LEFT JOIN B ON A.ID = B.ID--使用别名UPDATE v1 SET A1 = B1, A2 = B2, A3 = B3 FROM A ...转载 2018-03-30 13:16:56 · 30290 阅读 · 0 评论 -
SqlServer_表结构查询_查询当前用户所有表名
表结构查询sp_help t_tablesp_columns t_table当前登陆用户下的所有表名select name from sys.objects where type='U' order by name select * from sys.objects where type='U' order by name ...原创 2018-02-06 17:47:26 · 7447 阅读 · 0 评论 -
SqlServer_查询数据库表大小
在 sql server 中,查询 数据库的大小 和 数据库中各表的大小MSDN资料:https://msdn.microsoft.com/zh-cn/library/ms188776.aspx查询数据库的大小EXEC sp_spaceused为了保证查询结果的实时性,推荐使用 @updateusage 参数来确保统计数据是最新的EXEC sp_spaceused @u...转载 2018-03-22 10:13:40 · 5741 阅读 · 0 评论 -
SqlServer_查看SQLServer版本信息
执行sql语句:SELECT @@VERSION查询结果: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit...原创 2018-03-22 11:32:05 · 94684 阅读 · 0 评论 -
Navicat_模糊查询字段对应的表
SELECT * FROM information_schema.COLUMNS WHERE COLUMN_NAME='xxx';SELECT table_name, column_name FROM information_schema.columns WHERE column_name = 'xxx';SELECT column_name FROM information_sch...原创 2018-02-07 14:01:20 · 3620 阅读 · 2 评论 -
[Err] 42S01 - [SQL Server]数据库中已存在名为 '#temp' 的对象。临时表
问题描述:连续执行下列sql两次 ,会出现下面的错误信息select identity(int,1,1) as idd,* into #temp from t_table;select * from #temp where idd between 301 and 310;问题原因: 临时表在执行过一次就存在了名为 ‘#temp’ 的对象了 直接执行下面一行查询语句即...原创 2018-03-29 11:10:13 · 9094 阅读 · 0 评论 -
sqlserver_分页查询_row_number() over()
查询t_user表中301-310记录IF OBJECT_ID('tempdb.dbo.#temp') IS NOT NULL DROP TABLE #temp;BEGINselect identity(int,1,1) as idd,* into #temp from t_user;select * from #temp where idd between 301 and 310;...原创 2018-03-29 15:40:41 · 1002 阅读 · 0 评论 -
SQLServer_当前时间_时间差
SELECT datediff(yy,'2016-06-1 10:10',GETDATE()) --计算多少年 SELECT datediff(q,'2016-01-1 10:10',GETDATE()) --计算多少季度 3个月一个季度 SELECT datediff(mm,'2011-06-1 10:10',GETDATE()) --计算多少月 SELECT datediff(dd,'...转载 2019-07-08 02:04:39 · 5010 阅读 · 1 评论