`
mesmes
  • 浏览: 10615 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

sqlserver字符串处理函数和使用CONVERT

 
阅读更多
select 字段1 from 表1 where 字段1.IndexOf("云")=1;
这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。
left()是sql函数。
select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。
常用的字符串函数有:

一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()
把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。
二、去空格函数
1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取子串函数
1、left()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 个字符。

2、RIGHT()
RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 个字符。

3、SUBSTRING()
SUBSTRING (<expression>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>, <expression>)
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。

五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。
2、REPLICATE()
返回一个重复character_expression 指定次数的字符串。
REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值,则返回NULL 。

3、REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE (<character_expression>) 其中character_expression 可以是字符串、常数或一个列的值。

4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE (<string_expression1>, <string_expression2>, <string_expression3>) 用string_expression3 替换在string_expression1 中的子串string_expression2。

4、SPACE()
返回一个有指定长度的空白字符串。
SPACE (<integer_expression>) 如果integer_expression 值为负值,则返回NULL 。

5、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)
如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。
如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。
六、数据类型转换函数
1、CAST()
CAST (<expression> AS <data_ type>[ length ])

2、CONVERT()
CONVERT (<data_ type>[ length ], <expression> [, style])

1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT()函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
七、日期函数
1、day(date_expression)
返回date_expression中的日期值

2、month(date_expression)
返回date_expression中的月份值

3、year(date_expression)
返回date_expression中的年份值

4、DATEADD()
DATEADD (<datepart>, <number>, <date>)
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。
5、DATEDIFF()
DATEDIFF (<datepart>, <date1>, <date2>)
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。

6、DATENAME()
DATENAME (<datepart>, <date>)
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。

7、DATEPART()
DATEPART (<datepart>, <date>)
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)

8、GETDATE()
以DATETIME 的缺省格式返回系统当前的日期和时间。

---------
charindex(char_expr,expression) 返回char_expr的起始位置
patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0




convert() 
  
  SQL   Server   支持使用科威特算法的阿拉伯样式中的数据格式。 
  
  在表中,左侧的两列表示将   datetime   或   smalldatetime   转换为字符数据的   style   值。给   style   值加   100,可获得包括世纪数位的四位年份   (yyyy)。 
  
  不带世纪数位   (yy)   带世纪数位   (yyyy)   
  标准   
  输入/输出**   
  -   0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)   
  1   101   美国   mm/dd/yyyy   
  2   102   ANSI   yy.mm.dd   
  3   103   英国/法国   dd/mm/yy   
  4   104   德国   dd.mm.yy   
  5   105   意大利   dd-mm-yy   
  6   106   -   dd   mon   yy   
  7   107   -   mon   dd,   yy   
  8   108   -   hh:mm:ss   
  -   9   或   109   (*)     默认值   +   毫秒   mon   dd   yyyy   hh:mi:ss:mmmAM(或   PM)   
  10   110   美国   mm-dd-yy   
  11   111   日本   yy/mm/dd   
  12   112   ISO   yymmdd   
  -   13   或   113   (*)     欧洲默认值   +   毫秒   dd   mon   yyyy   hh:mm:ss:mmm(24h)   
  14   114   -   hh:mi:ss:mmm(24h)   
  -   20   或   120   (*)     ODBC   规范   yyyy-mm-dd   hh:mm:ss[.fff]   
  -   21   或   121   (*)     ODBC   规范(带毫秒)   yyyy-mm-dd   hh:mm:ss[.fff]   
  -   126(***)   ISO8601   yyyy-mm-dd   Thh:mm:ss:mmm(不含空格)   
  -   130*   科威特   dd   mon   yyyy   hh:mi:ss:mmmAM   
  -   131*   科威特   dd/mm/yy   hh:mi:ss:mmmAM   
  
  
  *         默认值(style   0   或   100、9   或   109、13   或   113、20   或   120、21   或   121)始终返回世纪数位   (yyyy)。 
  **   当转换为   datetime   时输入;当转换为字符数据时输出。 
  ***   专门用于   XML。对于从   datetime   或   smalldatetime   到   character   数据的转换,输出格式如表中所示。对于从   float、money   或   smallmoney   到   character   数据的转换,输出等同于   style   2。对于从   real   到   character   数据的转换,输出等同于   style   1。 
  
  
  
  重要     默认情况下,SQL   Server   根据截止年份   2049   解释两位数字的年份。即,两位数字的年份   49   被解释为   2049,而两位数字的年份   50   被解释为   1950。许多客户端应用程序(例如那些基于   OLE   自动化对象的客户端应用程序)都使用   2030   作为截止年份。SQL   Server   提供一个配置选项("两位数字的截止年份"),借以更改   SQL   Server   所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。 
  
  
  当从   smalldatetime   转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从   datetime   或   smalldatetime   值进行转换时,可以通过使用适当的   char   或   varchar   数据类型长度来截断不需要的日期部分。 


select   convert(varchar(10),   getdate(),120)   --不要时间2003-08-04 
  select   convert(char(8),getdate(),112)   ----20030804 
  select   convert(char(8),getdate(),108)     ---06:05:05 
  
  使用   CONVERT: 
  
  CONVERT   (data_type[(length)],   expression   [,   style]) 
  
  参数 
  expression 
  
  是任何有效的   Microsoft&reg;   SQL   Server&#8482;   表达式。有关更多信息,请参见表达式。   
  
  data_type 
  
  目标系统所提供的数据类型,包括   bigint   和   sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。   
  
  length 
  
  nchar、nvarchar、char、varchar、binary   或   varbinary   数据类型的可选参数。   
  
  style 
  
  日期格式样式,借以将   datetime   或   smalldatetime   数据转换为字符数据(nchar、nvarchar、char、varchar、nchar   或   nvarchar   数据类型);或者字符串格式样式,借以将   float、real、money   或   smallmoney   数据转换为字符数据(nchar、nvarchar、char、varchar、nchar   或   nvarchar   数据类型)。 
  
  SQL   Server   支持使用科威特算法的阿拉伯样式中的数据格式。 
  
  在表中,左侧的两列表示将   datetime   或   smalldatetime   转换为字符数据的   style   值。给   style   值加   100,可获得包括世纪数位的四位年份   (yyyy)。 
  
  不带世纪数位   (yy)   带世纪数位   (yyyy)   
  标准   
  输入/输出**   
  -   0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)   
  1   101   美国   mm/dd/yyyy   
  2   102   ANSI   yy.mm.dd   
  3   103   英国/法国   dd/mm/yy   
  4   104   德国   dd.mm.yy   
  5   105   意大利   dd-mm-yy   
  6   106   -   dd   mon   yy   
  7   107   -   mon   dd,   yy   
  8   108   -   hh:mm:ss   
  -   9   或   109   (*)     默认值   +   毫秒   mon   dd   yyyy   hh:mi:ss:mmmAM(或   PM)   
  10   110   美国   mm-dd-yy   
  11   111   日本   yy/mm/dd   
  12   112   ISO   yymmdd   
  -   13   或   113   (*)     欧洲默认值   +   毫秒   dd   mon   yyyy   hh:mm:ss:mmm(24h)   
  14   114   -   hh:mi:ss:mmm(24h)   
  -   20   或   120   (*)     ODBC   规范   yyyy-mm-dd   hh:mm:ss[.fff]   
  -   21   或   121   (*)     ODBC   规范(带毫秒)   yyyy-mm-dd   hh:mm:ss[.fff]   
  -   126(***)   ISO8601   yyyy-mm-dd   Thh:mm:ss:mmm(不含空格)   
  -   130*   科威特   dd   mon   yyyy   hh:mi:ss:mmmAM   
  -   131*   科威特   dd/mm/yy   hh:mi:ss:mmmAM   
  
  
  *         默认值(style   0   或   100、9   或   109、13   或   113、20   或   120、21   或   121)始终返回世纪数位   (yyyy)。 
  **   当转换为   datetime   时输入;当转换为字符数据时输出。 
  ***   专门用于   XML。对于从   datetime   或   smalldatetime   到   character   数据的转换,输出格式如表中所示。对于从   float、money   或   smallmoney   到   character   数据的转换,输出等同于   style   2。对于从   real   到   character   数据的转换,输出等同于   style   1。 
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    SQL Server字符串处理函数大全

    以下是一些常见的SQL Server字符串处理函数及其详细解释: 1. **字符转换函数** - `ASCII()`:返回字符串中最左侧字符的ASCII码值。例如,`ASCII('A')`将返回65。 - `CHAR()`:根据ASCII码值返回对应的字符。`...

    sql字符串处理函数

    根据提供的文件信息,我们可以归纳总结出一系列关于...通过以上对SQL字符串处理函数的介绍,可以看出这些函数在数据库管理和数据操作中的重要作用。熟练掌握这些函数可以帮助开发者更高效地处理各种字符串相关的任务。

    SQL SERVER 关于日期函数(字符转日期,日期转字符串)

    在 SQL Server 中,可以使用 CONVERT 函数将日期转换为字符串。CONVERT 函数的语法为: CONVERT (varchar, expression, style) 其中,varchar 是目标数据类型,expression 是要转换的日期数据,style 是日期格式...

    SQL Server中,在“整型数字”和“字符串表示的十六进制数字”之间进行转换的函数

    在SQL Server数据库管理系统中,处理数据类型转换是常见的操作,特别是在处理数字和各种字符串格式时。本篇文章将详细探讨如何在“整型数字”和“字符串表示的十六进制数字”之间进行转换,主要涉及两个关键函数:...

    sqlServer 日期类型转字符串

    本文将深入探讨如何使用SQL Server内置的`CONVERT`函数将日期类型转化为各种格式的字符串,以及这一过程中的关键知识点。 ### SQL Server日期类型与字符串转换 SQL Server提供了多种日期和时间数据类型,包括`date...

    SqlServer日期处理函数

    以上介绍了几种常见的 SqlServer 日期处理函数及其使用方法。通过这些函数,可以轻松实现日期的计算、格式化以及特定部分的提取等功能。熟练掌握这些函数的应用,能够帮助开发者更高效地管理和处理日期时间相关的...

    SQL字符串函数大全

    ### SQL字符串函数详解 #### 一、去空格函数 ...通过这些详细的介绍,我们可以看到SQL中的字符串函数非常强大,能够满足各种字符串处理的需求。在实际应用中,熟练掌握这些函数将极大地提高SQL查询的效率和灵活性。

    sqlserver2000日期函数处理大全

    在SQL Server 2000中,日期函数是数据库管理员和开发人员进行数据查询和处理时不可或缺的一部分。这些函数允许我们对日期和时间数据进行各种操作,如提取特定部分(如年、月、日),计算两个日期之间的差异,或者...

    SQLServer2000常用函数大全.rar

    2. **字符串函数**: - `LEN()`: 返回字符串的长度。 - `LEFT()`: 从字符串左侧返回指定数量的字符。 - `RIGHT()`: 从字符串右侧返回指定数量的字符。 - `UPPER()`, `LOWER()`: 分别将字符串转换为大写和小写。 ...

    sql server 函数及用法全解

    SQL Server是一款广泛使用的数据库管理系统,由微软公司开发。在SQL Server中,函数是进行数据处理和分析的关键元素。本文将全面解析SQL Server中的各种函数及其用法,帮助你提升数据库操作技能。 一、聚合函数 SQL...

    SQLServer2000常用函数大全(经典)

    二、字符串函数 字符串处理在数据库操作中极为常见,例如LEN()计算字符串长度,UPPER()和LOWER()分别转换为大写和小写,LEFT()和RIGHT()用于截取字符串的左边或右边部分,REPLACE()用于替换子串,RTRIM()和LTRIM()...

    ORACLE与SQLSERVER函数异同比较

    ### ORACLE与SQLSERVER函数异同比较 在数据库领域,Oracle和SQL Server是两种非常流行的数据库管理系统。这两种系统虽然有着不同的背景和发展历程,但都提供了丰富的功能来满足各种业务需求。尤其是在函数支持方面...

    sql server和oracle中常用函数的比较

    以上对比涵盖了SQL Server和Oracle中常用数学、字符串处理和数据分析函数的主要区别。理解这些差异有助于在实际应用中做出更合适的选择,提高代码的兼容性和效率。尽管两者在功能上有许多相似之处,但在语法和细节上...

    sqlserver 函数大全

    这些函数可以分为多个类别,包括聚合函数、配置函数、转换函数、加密函数、游标函数、日期和时间函数、数学函数、元数据函数、排名函数、行集函数、安全函数、字符串函数、系统函数、系统统计函数和文本和图像函数。...

    sqlserver函数案例

    本篇文章主要探讨了SQL Server中的一些重要函数,特别是涉及到日期和字符串处理的函数。 首先,我们来看日期函数。在SQL Server中,日期数据类型包括`datetime`和`smalldatetime`。日期函数常常用于日期的计算、...

    sqlserver常用函数 SQLServer和Oracle常用函数对比.pdf

    通过以上对比,我们可以看出SQLServer和Oracle在提供基本数学函数和字符串处理功能方面非常相似,但具体语法上存在细微差别。对于开发人员来说,在选择使用这些函数时需要根据具体的数据库环境来决定使用哪种语法。...

    SQLServer2000常用函数大全

    2. **第02章**:可能涉及到字符串处理函数,如LEN(计算字符串长度)、UPPER/LOWER(转换大小写)、LEFT/RIGHT(截取字符串)和REPLACE(替换子串)等,它们在处理文本数据时非常实用。 3. **第04章**:可能讲解...

    sql server常用函数大全下载

    2. **字符串函数**:字符串函数用于处理文本数据,如`LEN()`计算字符串长度,`LEFT()`和`RIGHT()`截取字符串的左侧或右侧部分,`LOWER()`和`UPPER()`将字符串转换为小写或大写,还有`REPLACE()`和`SUBSTRING()`用于...

Global site tag (gtag.js) - Google Analytics