![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MsSql
丿潇湘丶书笛
你我所见,不过沧海一粟
展开
-
SQL获取每个分类中,最新的10条数据
Oracel和MSsql可以用自带函数如row_number()可以解决,比较方便,如下:select * from (select *,row_number() over(PARTITION by c_prov order by c_publish_date) as rowid from spiderdata_virus_prov_status) a where rowid<=10原创 2021-06-05 18:56:27 · 5731 阅读 · 0 评论 -
mssql保留两位小数
PS:如果数字相除后结果是整数,要么确实能除整,要么是因为字段是整形、字符串导致。如果是字段问题,则修改字段类型即可sql查询时保留两位小数方法可以用convert或*1.00实现① 直接convert改变数据类型-- 改变数据类型,可自定义小数位数select convert(decimal(16,2),3.14159265) rate ②用*1.00改变小数位数(具体小数位数可自定义)-- 自定义小数位数(此处*1.00需要放在分子上)select store_cnt*原创 2022-02-16 15:41:46 · 1877 阅读 · 0 评论 -
mssql排序order by42000报错解决
在mssql查询中,如果子查询中使用order by,会出现报错:[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。如下语法形式会出现报错:select * from ( select c_date,count(*) cnt from tablename order原创 2022-02-16 15:30:05 · 5484 阅读 · 0 评论 -
mssql查找指定字符串位置charindex
charindex函数可以用来查找指定字符在字段中的出现位置,用法为charindex(str,column)如,查找“色”在product_name中的位置-- 查找“色”在product_name中的位置select charindex('蓝',product_name) as site from table以上,一般用到charindex查找位置,一般都还会用字符串截取操作,这里顺便附上截取函数,示例截取字段中的颜色-- 从字符串中获取产品颜色类型select substri原创 2022-01-30 16:28:33 · 7813 阅读 · 0 评论 -
mssql获取首个中文/非中文字符的位置patindex
-- 获取第一个大写字母的位置select patindex('%[A-Z]%',product_name) from table-- 获取第一个非大写字母的位置select patindex('%[^A-Z]%',product_name) from table-- 获取第一个非空字符的位置(里面有个空格)select patindex('%[^ ]%',product_name) from table-- 获取第一个中文的位置select patindex('%[吖-座]%',pr.原创 2022-01-30 16:21:36 · 1231 阅读 · 0 评论 -
sql判断字段值是否为空,为空则替换为其他字符
在oracle、mssql、mysql中,判断是否为空,为空则替换为其他字符的函数不一样,这里分别列举一下功能为:如果第一个value为null,则返回第二个value// mysqlselect ifnull(null,'mysql')select ifnull(c_name,'没有名字')// mssqlselect isnull(null,'mssql')select isnull(c_name,'没有名字')// oracleselect nvl(null,'oracle原创 2022-01-30 14:07:11 · 7337 阅读 · 0 评论