SQL 字符串相关

Posted 深海地平线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 字符串相关相关的知识,希望对你有一定的参考价值。

 

一、sql中,字符串保存序号,按照数字顺序进行排序

----/*省略部分代码*/---
order by RIGHT(REPLICATE(\'0\',10)+CAST(householdNo AS varchar(10)),10)  asc
--householdNo 为要排序字段

 

二、SQL Server 时间字符串转换为DateTime格式

SELECT GETDATE() -------获取当前时间
SELECT CONVERT(DATETIME,\'2018-06-26 09:54:30.027\'); --------将时间字符串转换为DATETIME格式,

 

三、SQL字符串截取

  1、CHARINDEX(substr ,str):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;

  2、LEFT(str, length):从左边开始截取str,length是截取的长度;

  3、RIGHT(str, length):从右边开始截取str,length是截取的长度;

  4、SUBSTRING(str  ,n ,m):返回字符串str从第n个字符截取到第m个字符;

  5、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;

  6、LEN(str):计算字符串str的长度;

  7、REVERSE(str):把字符串倒置;REVERSE("1234"); ----> 4321

  实例:

SELECT ...,SGCompInfo,
      SUBSTRING(SGCompInfo,0,CHARINDEX(\',\' ,SGCompInfo)) SGComp,
      SUBSTRING(SGCompInfo,CHARINDEX(\',\' ,SGCompInfo)+1,LEN(SGCompInfo)) SGer,...
FROM ....

  执行结果:

  

 

 四、sql字符串替换  replace函数

  语法:replace(源字符串,字符串中某个字符或字符串,要修改为哪个字段)

  例:(以时间格式转为时间戳为例)

select CONVERT(varchar,GETDATE(),21) timenow1
select   CONVERT(char(17),replace(replace(replace(replace(CONVERT(varchar,GETDATE(),21),\'-\',\'\'),\':\',\'\'),\' \',\'\'),\'.\',\'\'))timenow2

  执行结果:

  

 

五、SQL 中字母大小写的转换

  ①将大写字母改为小写字母
    语法: Lower(str)  
  ②将小写字母转化成大写字母
    语法:Upper(str)

 

以上是关于SQL 字符串相关的主要内容,如果未能解决你的问题,请参考以下文章

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段

sql数据库截取字符串函数

sql sql里面的代码片段

sql将字符串拆分为始终相同数量的片段

Microsoft SQL Server 代码片段收集

在 Rails 上为连接、限制、选择等(不是条件)的 SQL 片段安全地转义字符串