sql传入枚举值获取不同数据

sql传入枚举值获取不同数据,第1张

在SQL中,枚举值是指一组有限的值,它们可以用来查询数据库中的特定数据。例如,如果您想要查询某个国家的所有城市,您可以使用枚举值来查询该国家的所有城市。您可以使用SELECT语句来查询枚举值,该语句的语法如下:SELECT FROM table_name WHERE column_name IN (value1, value2, value3, );其中,table_name是您要查询的表名,column_name是您要查询的列名,value1、value2、value3等是您要查询的枚举值。例如,如果您想要查询某个国家的所有城市,您可以使用以下SELECT语句:SELECT FROM cities WHERE country IN ('China', 'India', 'USA');这样,您就可以查询到指定国家的所有城市。

枚举用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。

任意两个枚举成员不能具有相同的名称

在枚举类型中声明的第一个枚举成员它的默值为0  

允许多个枚举成员有相同的值

没有显示赋值的枚举成员的值,总是前一个枚举成员的值+1

eg:

public enum Number

{

a=1,

b,

c=1,

d

} ;

b的值为2,d的值为2

int a=1;

Url u=(Url)a;

var a = typeof(Url)GetField(uToString())GetCustomAttributes(typeof(DescriptionAttribute), false)FirstOrDefault() as DescriptionAttribute;

var d = aDescription;

//d就是你想要的值

枚举类最基本的用法是实现一个类型安全的枚举。

枚举常量用逗号分隔,每个枚举常量都是一个对象。

枚举类具有两个属性两个方法

属性是name和ordinal,分别获取枚举名称和枚举序号

方法一个是获取集合可以进行遍历等 *** 作,另一个是其名称获取枚举常数

结果:

每一个枚举都是枚举类的实例,它们可以被初始化,可以自定义属性

举例:

结果:

枚举还支持以声明自己的匿名类及相应的方法、以及覆盖基类的方法

举例:

结果:

枚举在Java中是一个类 ,代表着类的一一列举。要想知道枚举具体的使用首先要先知道它的具体的 属性 方法 才可以。虽然说我们在实际应用中很少去关注它的属性和方法,而是更多的关注它的 特性 ,利用它本身的特性去满足各种有意思的场景。

 由于上篇内容讲了我们自定义的枚举其实经过编译之后,实际继承的是lang包下的Enum类。虽然我们自定义的枚举类中可能存在不定义私有属性的情况,但继承的Enum类中自身就带有着两个属性,name属性、和ordinal属性。Enum类的源码

 name为我们枚举值的名称,而ordinal这个词的意思是“序数”或者说“有顺序的”,其实就是序数。我们知道枚举所代表的就是包含一个以上枚举值的集合,既然是集合它就是有顺序的,而大多数我们使用的时候往往忽略了它的序数这个属性,似乎忘了枚举是枚举这件事了。

 枚举中的序号是根据我们的枚举中显示的顺序决定的,其实是是语法糖转换时初始化枚举值时决定了枚举值的序数,枚举中,第一个枚举值的序数总是小于后面枚举值的序数,且序数是从0开始的。

 接着上面讲的序数ordinal,针对序数我们先讲枚举的values()方法。

作为一个枚举值的集合,所必须要有的 *** 作肯定是遍历,这也是静态常量所没有的支持的。values()其实就是获取我们枚举值的数组:

 虽然我们自定义的枚举类是可以使用这个方法的,但继承的Enum类却没有这个方法,其实values()这个方法是很特殊的一个方法,之前说过枚举是一种语法糖,在它真正编译后,就会产生values()这个方法,所以我们自定义的枚举类是可以使用这个方法的,而且values()方法所返回的其实是一个浅拷贝;

 前面说到枚举有两个属性,name和ordinal,但实际上枚举只提供了根据name来获取具体枚举值的方法,却没有提供根据ordinal来获取具体枚举值的方法,但是values()方法也算是另外一种弥补了,根据values()得到的数据再根据ordinal序数获取具体的枚举值其实也是一样的效果。valueOf()方法就是那个根据name获取具体枚举值的方法,使用案例:

可选姿势为两种,一参和两参,具体看案例。

class Program

{

    static void Main(string[] args)

    {

        Color[] colors = EnumGetValues(typeof(Color)) as Color[];

        Random random = new Random();

        Color color = colors[randomNext(0, colorsLength)];

    }

}

internal enum Color

{

    White,

    Black,

    Red,

    Green,

    Pink

}

以上就是关于sql传入枚举值获取不同数据全部的内容,包括:sql传入枚举值获取不同数据、JAVA中的枚举常量是什么、C# 根据数字值获取相应枚举等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9330053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存