如何正确排序SQL Server中的字母数字值

FF编码器

我有一列包含一个名为TableName的字母数字值,只要是字母数字,几乎可以是任何短语。

样本数据可以是(不一定是3个字母后跟一个数字)

AAA 1
AAB 2
AAC 3
AAB 10
AAC 12
AAB 12

如果我使用像ORDER BY TableName这样的普通排序

这将成为

AAA 1
AAB 10
AAB 12
AAB 2
AAC 12
AAC 3

我想要完成的是

AAA 1
AAB 2
AAB 10
AAB 12
AAC 3
AAC 12

我希望您知道此字段可以是任何东西,即

ABC123MAS3482
KASJ19LKA
213LKS23

只是为了让您知道该字段中没有格式。唯一的规则是它是字母数字。

我希望你们能对我的SQL知识有所帮助。

我正在使用SQL Server 2008 R2

DrCopyPaste

我很确定这不可能太容易做到。

您的语句I'd like you to know that this field COULD be ANYTHING i.e.几乎可以杀死它,否则您可以将字母和数字值拆分为两列,或者通过某种字符串函数将它们拆分。

但是这样我唯一能看到的出路是:

编写自己的函数,该函数返回一个可以排序的数字值。然后,您可以像这样使用它:

SELECT AlphaNumericValue FROM ValuesTable ORDER BY dbo.GETSORTVALUE(AlphaNumericValue)

这可能是此功能的虚拟主体:

CREATE FUNCTION dbo.GETSORTVALUE(@value NVARCHAR)
RETURNS INT
BEGIN
    DECLARE @dummyValue INT = LEN(@value)
    -- do something with your string here to get a sorting number
    RETURN @dummyValue
END

由于列中的值可能是anything您需要首先进行良好的排序,因此应将其包括在该函数中。例如,在这种情况下,您尚未定义如何排序:

你说AAB 2要来之前AAB 10,但对于AA2BAA10B

定义好此功能后,您的自定义逻辑应进入该功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 SQL Server 中对字母数字进行排序

来自分类Dev

如何在SQL中同时包含数字和字母数字值的行升序排序?

来自分类Dev

SQL Server中的字母数字序列

来自分类Dev

如何增加SQL Server中的字母数字列

来自分类Dev

SQL Server触发器,用于创建字母数字值

来自分类Dev

如何从 cassandra 列中的字母数字值中删除字符?

来自分类Dev

SQL混合数字和字母数字值的排序

来自分类Dev

如何按数字顺序对字母数字SQL Server NVARCHAR列进行排序?

来自分类Dev

如何在PostgreSQL中自动增加字母数字值?

来自分类Dev

在SQL Server中查询以对具有数字和字母的数据进行排序

来自分类Dev

按字母数字字符串MS SQL Server 2012中的相似性排序

来自分类Dev

Oracle中的字母数字排序

来自分类Dev

VIM中的字母数字排序

来自分类Dev

在Excel中字母数字排序?

来自分类Dev

如何在shell中按数字对字母数字进行排序

来自分类Dev

SQL-排序英文和日文字母数字值

来自分类Dev

SQL-排序英文和日文字母数字值

来自分类Dev

SQL Server:仅从值中获取数字

来自分类Dev

当字典中的值中有其他字母/数字时,如何检查其中的特定字母?

来自分类Dev

当字典中的值中有其他字母/数字时,如何检查其中的特定字母?

来自分类Dev

如何按字母数字排序具有不同转换的值?

来自分类Dev

MySQL字母数字值的自然排序

来自分类Dev

MySQL字母数字值的自然排序

来自分类Dev

按字母顺序对数据表进行字母排序,然后按R中的数字值排序

来自分类Dev

如何使用SQL Server 2008中的函数生成字母数字随机数

来自分类Dev

如何使用SQL Server 2008中的函数生成字母数字随机数

来自分类Dev

如何在SQL Server中创建具有带数字和字母的ID列的表

来自分类Dev

SQl Server:首先对字母数字进行排序,然后再对数字进行排序

来自分类Dev

如何按数字,长度和字母对SQL排序?

Related 相关文章

  1. 1

    在 SQL Server 中对字母数字进行排序

  2. 2

    如何在SQL中同时包含数字和字母数字值的行升序排序?

  3. 3

    SQL Server中的字母数字序列

  4. 4

    如何增加SQL Server中的字母数字列

  5. 5

    SQL Server触发器,用于创建字母数字值

  6. 6

    如何从 cassandra 列中的字母数字值中删除字符?

  7. 7

    SQL混合数字和字母数字值的排序

  8. 8

    如何按数字顺序对字母数字SQL Server NVARCHAR列进行排序?

  9. 9

    如何在PostgreSQL中自动增加字母数字值?

  10. 10

    在SQL Server中查询以对具有数字和字母的数据进行排序

  11. 11

    按字母数字字符串MS SQL Server 2012中的相似性排序

  12. 12

    Oracle中的字母数字排序

  13. 13

    VIM中的字母数字排序

  14. 14

    在Excel中字母数字排序?

  15. 15

    如何在shell中按数字对字母数字进行排序

  16. 16

    SQL-排序英文和日文字母数字值

  17. 17

    SQL-排序英文和日文字母数字值

  18. 18

    SQL Server:仅从值中获取数字

  19. 19

    当字典中的值中有其他字母/数字时,如何检查其中的特定字母?

  20. 20

    当字典中的值中有其他字母/数字时,如何检查其中的特定字母?

  21. 21

    如何按字母数字排序具有不同转换的值?

  22. 22

    MySQL字母数字值的自然排序

  23. 23

    MySQL字母数字值的自然排序

  24. 24

    按字母顺序对数据表进行字母排序,然后按R中的数字值排序

  25. 25

    如何使用SQL Server 2008中的函数生成字母数字随机数

  26. 26

    如何使用SQL Server 2008中的函数生成字母数字随机数

  27. 27

    如何在SQL Server中创建具有带数字和字母的ID列的表

  28. 28

    SQl Server:首先对字母数字进行排序,然后再对数字进行排序

  29. 29

    如何按数字,长度和字母对SQL排序?

热门标签

归档