A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石国庆 中级黑马   /  2013-4-18 23:36  /  2463 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数据库中的数据是这样的
2013-1-10
2013-2-10
2013-3-17
2013-4-17

前台的页面DropDownList绑定数据库的字段
想显示
2013-1
2013-2
2013-3
2013-4

然后进行查询,请问这个如何做啊?用substring我会,不过我记得sql里面好像也能截取字符串,如果光用sql语句怎么写啊啊?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

10 个回复

倒序浏览
可以使用subsrting()函数
select subsrting( [列名],1,6) FROM [表名]
回复 使用道具 举报
陈志盟 发表于 2013-4-19 04:27
可以使用subsrting()函数
select subsrting( [列名],1,6) FROM [表名]

这样就行了?
回复 使用道具 举报
SQLServer中也是有自己的字符串函数的,如:
Len():计算字符串的长度
Lower()转换成小写、Upper()转换成大写
Ltrim()去掉字符串左边空格、Rtrim()去掉字符串右边空格
还有就是现在你要用的Substring(‘字符串',截取位置,截取长度)
select (列名)DateTime, substring((列名)DateTime,1,6) from 表名
就可以了~

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
楼主的这些数据是字符串?那就用楼上说的substrings()吧
SUBSTRING (Transact-SQL)
语法:SUBSTRING ( expression ,start , length )
参数:expression 是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。
      start 指定子字符串开始位置的整数。start 可以为 bigint 类型。
      length 一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
示例:
SELECT x = SUBSTRING('abcdef', 2, 3)
搜索出来的x就是'bcd'

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
王赟 发表于 2013-4-19 14:21
楼主的这些数据是字符串?那就用楼上说的substrings()吧
SUBSTRING (Transact-SQL)
语法:SUBSTRING ( ex ...

好,感觉sql的处理函数很强大啊,很多东西在sql里搞定能简单不少,得系统的学习一下
回复 使用道具 举报
石国庆 发表于 2013-4-19 08:34
这样就行了?

恩,你可以试试看。
回复 使用道具 举报
  1. select Substring(ActionDesc,1,3) from dbo.T_OperationLog
  2. select Substring( MarkDate,1,7) FROM dbo.T_OperationLog
复制代码
消息 8116,级别 16,状态 1,第 2 行
参数数据类型 datetime 对于 substring 函数的参数 1 无效。
你的搞定了吗?
我试了下,第一个ok,第二个不ok
回复 使用道具 举报
郑丹丹1990 发表于 2013-4-19 22:24
消息 8116,级别 16,状态 1,第 2 行
参数数据类型 datetime 对于 substring 函数的参数 1 无效。
你的搞 ...

actiondesc和markdate是什么?
回复 使用道具 举报
石国庆 发表于 2013-4-19 23:07
actiondesc和markdate是什么?

actiondesc  string类型的
markdate  datetime类型的
视频中那个,日志管理那块的
回复 使用道具 举报
有这个吗?你们是从传智播客那点下载的视频吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马