SQLServer 2008 R2 对同时含有数字和中文的字段进行排序

  若是数据库中的某一个字段名为bedNO,类型为nvchar,里面有{1,2,3,11,12,23,加2,加3}这些数据。

  此时我需要对这些数据进行排序,数字按大小拍前面,汉字按第一个字拼音首字母的顺序排后面,即需要1,2,3,11,12,23,加2,加3这样的结果。

  通常用order by bedNO排序的话,得到的结果是:1,11,12,2,23,3,加2,加3,无法得到需要的顺序。

  若是用order by cast(bedNO as int),则加2和加3这样的数据会报错,因为无法转换成int类型。

  而用order by LEN(bedNO),则可以得到结果为:1,2,3,11,12,23,加2,加3,满足我的需求。

  此时应该注意,如果在order by LEN(bedNO)后面还有其他字段需要排序,例如:order by LEN(bedNO),字段A,字段B,那么得到的结果很有可能不是希望的顺序。

  解决方法也很简单,只需要在LEN(bedNO)后面再对bedNO进行一次排序就可以了。例如:order by LEN(bedNO),bedNO,字段A,字段B这样的语句就可以得到理想的排序结果了。

时间: 2024-08-24 17:28:28

SQLServer 2008 R2 对同时含有数字和中文的字段进行排序的相关文章

sqlserver 2008 r2 直接下载地址,可用迅雷下载

转自 http://www.cnblogs.com/chinafine/archive/2010/12/23/1915312.html 下载sqlserver 2008 r2 ,微软用了一个下载器,经过从下载器上,将他的地址全部用键盘敲了下来.最终的简体中文版地址如下: 32位: http://care.dlservice.microsoft.com/dl/download/1/e/6/1e626796-588a-495c-917B-321093fb98eb/2052/sqlfull_x86_c

php5.4.3如何连接sqlServer 2008 r2

php5.4.3如何连接sqlServer 2008 r2 1.下载 ntwdblib.dll,(http://yunpan.cn/QiRkGyLH2YYJy (提取码:edfc)),拷贝到 php安装路径的根目录下 和 Apache服务器安装路径的bin文件夹下: 2.下载sqlsrv相关文件,(http://yunpan.cn/QiRvdnxjVDffh (提取码:2f04)),解压后,双击exe文件,得到一批文件: 如果是php5.3和之前版本的,如果你安装的php是非线程安全的,复制ph

SQLServer 2008 R2 发布订阅配置指南

原以为配置SQLServer 2008 R2的发布订阅很简单,实际配置后才发现过程中有问题地方一直都没搞明白,最后经过几天的查找问题和实践,终于搞定了.现将过程记录如下. 一.发布服务器配置第一步:设置SQLAgent服务登录帐户为Administrators用户,设置后重新启动服务 第二步:在配置管理器里设置订阅服务器别名,设置后重起服务 注意32位和64位两处都要设置 第三步:右键点击本地发布,进入发布流程(保证sql服务器名称和系统服务器名称相同) 为发布的表单独建一个帐号 二.订阅服务器

SQLServer 2008 R2查看字段约束

SQLServer 2008 R2 删除字段前检查字段的约束: select a.name,b.name as cname from syscolumns a left join sysobjects b on a.cdefault=b.id where a.id=object_id('TableName') and a.name='FieldName' 原文地址:https://www.cnblogs.com/talentzemin/p/10502653.html

Windows 7 下安装 SqlServer 2008 R2 注意事项

学习SqlServer首先就要安装它,但是很多朋友在安装的过程中,总是遇到这样那样的问题,最后导致安装失败,最可恶的就是提示“安装完成但失败”,太可恶了!我也是刚刚从这个困境中解放出来,在安装过程中也得到了很多网友的帮助,十分感谢,鸟哥在他的<鸟哥的linux私房菜>中提到,在网上得到了帮助,看了别人的博客,一定不要忘了给别人感谢,鼓励别人提供更好的文章,轻轻的一句谢谢,让我们共同为营造积极向上的网络学习环境努力!具体安装过程请参照这位来自数字资源网的朋友的博客http://www.downc

【solution】安装Sqlserver 2008 r2时报错

环境: win7 x86  已经安装vc 6.0 vs2010 System.Configuration.ConfigurationErrorsException: 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a

sqlserver 2008 R2 安装教程(心得记录)

在这里简单的记录下自己安装sqlserver的过程吧(本人以前安装失败过,然后卸载了,就一直没用,现在由于工具原因,重新安装,过程相对第一次安装会复杂点) 1.首先,把以前安装的注册表的对应c盘的文件全部删掉,我在这里参考的其他同学写的几篇教程: 参考教程: https://blog.csdn.net/qq_41432123/article/details/79053486 这个教程详细的记录了先删除注册表和安装的过程,跟着走,应该问题不大. 2.自己在安装成功后,又遇到了链接数据库的问题,经过

SqlServer 2008 R2定时备份数据库,并且发送邮件通知

先配置数据库的邮件设置,这样才可以发送邮件. 2. 3. 4. 5. 6. 7. 8. 9. 10. 总的预览图,如图 执行这一段(先发送备份邮件,然后进行数据备份,将昨天的发送数据插入到另一张表中,这样表中的数据也很小,查询也很快,充分利用数据库的表空间,进行拆表是一件提高查询和插入速度很快的一种方案) /******发送邮件通知******/ USE OpenMas GO DECLARE @mailContent NVARCHAR(2000),@num int,@totalMessageCo

SQLSERVER 2008 R2 事务日志已满

方法一: USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE   --简单模式 GO USE DNName GO DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVER