用户ID :  密码 : 

登 录

注 册

时代财富科技公司 FortuneAge Technology Co., Ltd. 校园博客客服网站(新)

我的资料

rocky

博客信息

积分:173
等级:2级 lv 2
日志总数:47
发表评论总数:4 (查看)
获得评论总数:10
发表留言总数:4
浏览总数:40135

最新公告

暂无公告

最新相册

我的日历

最新评论

RE:Asp.Net网站集成支付宝的过程
好呀,谢谢分享! RE:c# CheckedListBox
我觉得可以用datagridview做。比用checked... RE:集成支付宝程序代码
踩下你啦...呵呵...想不到在这里碰到同行...My b... RE:月黑风高杀人夜
哈哈哈,第一次成功做到杀手~ RE:月黑风高杀人夜
rocky真是好文采,赞一下先。

最新留言

[全部留言] [发表留言]
呵呵,你的Blog里的歌名叫什么,很好听,谢谢!
,虽然跟我的原稿有些不同,不过增加了些元素,很精彩
rocky仔,做咩笑得甘灿烂啊~~
我加了你的友情链接哦,快来加我吧。时代财富 - 梦想园 ...

RSS

首页 -> SQL收集包->SQL数据库查询常用函数
SQL数据库查询常用函数

1、BETWEEN
 A. 使用 BETWEEN
 SELECT title_id, ytd_sales
 FROM titles
 WHERE ytd_sales BETWEEN 4095 AND 12000
 
 结果集:

title_id ytd_sales
-------- -----------
BU1032   4095       
BU7832   4095       
PC1035   8780       
PC8888   4095       
TC7777   4095       

(5 row(s) affected)

 B. 使用 > 和 < 代替 BETWEEN
 SELECT title_id, ytd_sales     
 FROM titles     
 WHERE ytd_sales > 4095 AND ytd_sales < 12000
 
 结果集:

title_id ytd_sales  
-------- -----------
PC1035   8780       

(1 row(s) affected)

2、CAST 和 CONVERT
 当具有不同小数位数的数据类型进行转换时,值将被截断为最精确的数位。例如:
 SELECT CAST(10.6496 AS int)
 结果为 10。
 转换时,若目标数据类型的小数位数小于源数据类型的小数位数,则要转换的值将被四舍五入。例如:
 CAST(10.3496847 AS money)
 结果是 $10.3497。
 当将非数字类型的 char、nchar、varchar 或 nvarchar 数据转换为 int、float、numeric 或 decimal 时,SQL Server 将返回错误信息。当将空字符串 (" ") 转换为 numeric 或 decimal 时,SQL Server 也将返回错误信息。
 ###############例子##############
 -- Use CAST.
 SELECT CAST(ROUND(ytd_sales/price, 0) AS int) AS 'Copies'
 FROM titles
 将总的截止当前销售额 (ytd_sales) 与每本图书的价格 (price) 相除,进行单独列计算 (Copies)。在四舍五入到最接近的整数后,此结果将转换为 int 数据类型。
 -- Use CONVERT.
 SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
 FROM titles
 WHERE CONVERT(char(20), ytd_sales) LIKE '3%'
 检索书名(这些图书的截止当前销售额的第一位数字为 3),并将这些图书的 ytd_sales 转换为 char(20)。
 #################################
 
3、CHARINDEX(返回字符串中指定表达式的起始位置)
 SELECT CHARINDEX('wonderful', notes)
 FROM titles
 WHERE title_id = 'TC3218'
 返回序列"wonderful"在 titles 表的 notes 列中开始的位置。
 
4、CONTAINS
 SELECT ProductName
 FROM Products
 WHERE UnitPrice = 15.00
 AND CONTAINS(QuantityPerUnit, 'bottles')
 查找包含词"bottles"且价格为 $15.00 的所有产品。
 其他用法:
 CONTAINS(ProductName, ' "sasquatch ale" OR "steeleye stout" ')--返回包含短语 "sasquatch ale" 或 "steeleye stout" 的所有产品。
 CONTAINS(ProductName, ' "choc*" ')--返回所有满足该条件的产品名称:这些产品名称至少含有一个以 ProductName 列中前辍 Choc 起始的词。
 CONTAINS(DeSCRIPTion, '"sea*" OR "bread*"')--返回包含字符串 "sea" 或 "bread" 的所有分类描述。
 CONTAINS(ProductName, 'spread NEAR Boysenberry')--返回在词 "spread" 附近有词 "Boysenberry" 的所有产品名称。
 CONTAINS(ProductName, ' FORMSOF (INFLECTIONAL, dry) ')--搜索具有 dry 形式的词的所有产品:dried 和 drying 等等。
 
5、COUNT(返回组中项目的数量)
 SELECT COUNT(DISTINCT city) FROM authors -- 查找作者所居住的不同城市的数量。
 SELECT COUNT(*) FROM titles -- 查找图书和书名的总数。
 
6、DATEADD(在向指定日期加上一段时间的基础上,返回新的 datetime 值,如果 date 参数是 smalldatetime,返回 smalldatetime
。)
 SELECT DATEADD(day, 21, pubdate) AS timeframe FROM titles
 当前发布日期加上 21 天。
 
7、DATEDIFF(返回跨两个指定日期的日期和时间边界数。)
 SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days FROM titles
 返回标题发布日期和当前日期间的天数。
 
8、DATEPART(返回代表指定日期的指定日期部分的整数。)
 假设日期是 5 月 29 日。
 SELECT DATEPART(month, GETDATE())
 结果集:
-----------
5          
(1 row(s) affected)

9、EXISTS(指定一个子查询,检测行的存在。如果子查询包含行,则返回 TRUE。)
 SELECT title
 FROM titles
 WHERE EXISTS
    (SELECT *
    FROM publishers
    WHERE pub_id = titles.pub_id
    AND city LIKE 'B%')
   
10、判断数据类型的函数
 ISNUMERIC( expression ) -- 确定表达式是否为一个有效的数字类型。
 ISDATE ( expression )  -- 确定输入表达式是否为有效的日期。
 
11、字符操作
 LEFT ( character_expression , integer_expression )  -- 返回从字符串左边开始指定个数的字符。
 RIGHT ( character_expression , integer_expression ) -- 返回字符串中从右边开始指定个数的 integer_expression 字符。
 LEN ( string_expression ) -- 返回给定字符串表达式的字符个数,其中不包含尾随空格。
 LOWER ( character_expression ) -- 将大写字符数据转换为小写字符数据后返回字符表达式。
 LTRIM ( character_expression ) -- 删除起始空格后返回字符表达式。
RTRIM ( character_expression ) -- 截断所有尾随空格后返回一个字符串。
 SUM ( [ ALL | DISTINCT ] expression ) -- 返回表达式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于数字列。空值将被忽略。
 MAX ( [ ALL | DISTINCT ] expression ) -- 返回表达式的最大值。
 MIN ( [ ALL | DISTINCT ] expression ) -- 返回表达式的最小值。
 YEAR ( date ) -- 返回表示指定日期中的年份的整数。
 MONTH ( date ) -- 返回代表指定日期月份的整数。
 RAND ( [ seed ] ) -- 返回 0 到1 之间的随机float 值。
 REVERSE ( character_expression ) -- 返回字符表达式的反转(character_expression 必须为可隐性转换为 varchar 的数据类型)。
 SUBSTRING ( expression , start , length ) -- 返回字符、binary、text 或 image 表达式的一部分。
 
 REPLACE -- 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式,支持字符数据或二进制数据(不支持NTEXT)。
 用 xxx 替换 abcdefghi 中的字符串 cde。
 SELECT REPLACE('abcdefghicde','cde','xxx')
 结果集:
 ------------
 abxxxfghixxx
 (1 row(s) affected)
 
 ROUND ( numeric_expression , length [ , function ] )
 SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
 下面是结果集:
 ----------- -----------
 123.9990    124.0000 

网友评论

共 0 页,0 条记录  

用户名:
密码:
您的评论:



发 表 评 论

李国均-时代财富企业博客