Trending February 2024 # Working And Different List Of Plugins In Ansible # Suggested March 2024 # Top 6 Popular

You are reading the article Working And Different List Of Plugins In Ansible updated in February 2024 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested March 2024 Working And Different List Of Plugins In Ansible

Introduction to Ansible Plugins

Ansible plugins are separately available functions which are used to work with Ansible modules. These are the codes developed to provide additional support to Ansible modules while working on remote target hosts. Though the Ansible package comes with many plugins, we can also write our custom plugins. In Ansible, plugins are prepared in an architecture that adds more flexibility and expandability to the feature set. Most importantly, plugins are different from modules and run only locally on the Ansible controller node within the Ansible process. In addition, plugins provide additional options and extensions to the core functionality of Ansible, like output logging, inventory connection, data transformation.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Working of Ansible Plugins

Ansible plugins work locally on the Ansible controller node, which means some data is given to a plugin, and the plugin processes that data. Modules use this processed data to perform some tasks on remote target machines. This might look easy, but one can easily get puzzled while choosing or using plugins, as the syntax is not in YAML of JSON. Plugins follow a unique syntax which is different for different plugins.

To confirm your plugin is working or loading. You can use ansible-doc to check the plugin, run the command like below:

Ansible package is shipped with a range of plugins, including Action, Callback, Cache, Become, Connection, Inventory, Lookup, Shell, Vars, Filters, Test. Also, you can add your customized plugins by writing the incompatible version of Python, and code should have error reporting, return strings in Unicode, and line with Ansible documentation and configuration standards.  In the next section, we will learn about some of the default plugins types with examples.

List of Ansible Plugins

Below is a list of plugins types provided by Ansible packages, but you must note that this list if not exhaustive and can be extended in future releases or updated in the current release. In addition, these plugin types further have plugins that can use in our playbooks. For the latest list of plugin types, you can refer below the official Ansible community page.

To get a list of available plugin’s list of a plugin type, you can use the below command:

Also, for practical purposes, here we have an Ansible control server named ansible-controller and two remotes hosts named host-one and host-two. We will create playbooks, run Ansible commands on the ansible-controller node, and see the results on remote hosts. The way of use in these examples is completely to show you how to use these, but your real-life usage/requirements may be different from these.

1. Action

These plugins work on the front end and are executed in the local controller node before calling any module. These plugins are associated with some modules and are executed by default when such modules are used. Therefore, you cannot list action plugins.

2. Become

These plugins are enabled by default, and these are used to ensure that Ansible can use certain privileges on remote machines while running such commands, which need higher privileges. Plugin list includes sudo, su, doas, runas. These plugins are used along with become_methodkeyword in a playbook. For example, we have a playbook with content like below, here we are running this playbook with the root user, but as we mentioned becomes parameters in the playbook. We are trying to run the command as ec2-user. In the output, we will see that command ran as ec2-user.

Please note, this user must exist on the target machine, else the playbook will fail.

var: id_var[‘stdout_lines’]

ansible-playbook ansible_sudo.yaml

We get the output like below:

3. Lookup

These plugins are used to fetch data from an external source. This uses Jinja2. One of the important plugins is the file which is used to read the contents of a file. For example, we will take contents from a local file on the Ansible control machine and display its output using a plugin file which is a lookup plugin type. For this, we create a playbook, like below:

msg: These are the contents of /tmp/samplefile – {{lookup(‘file’, ‘/tmp/samplefile’)}}


ansible-playbook ansible_lookup_file.yaml

We get output like below:

4. Vars

These plugins provided additional data to Ansible plays which inventory, playbook, and parameters provided on the command line did not provide. These plugins are automatically enabled and used with keywords like host_vars and group_vars.

5. Cache

These plugins are used to store a cache of Ansible facts so that we do not have to gather those, again and again; this can be helpful in cost-saving where I/O is measured and incur costs.

6. Filters

These allow you to filter data within the controller node and provide it to playbooks and templates. This uses Jinja2. In this type, the variety of plugins is vast also; there are some mathematics-related plugins like abs, int, pow, root. To check some of these, we can make a playbook with content like below: –

msg: Fifth power of -2.5 is “{{ var_pow }}”


ansible-playbook filter_math.yaml

The output will be like below:


As we saw in this article, Ansible plugins can perform a vital part in Ansible playbooks, especially when we have needs like data transformation, filtering, etc. You must have good knowledge of using the plugins if you have multiple environments and your needs are to process data locally on the controller node. So learn it first and then use it.

Recommended Articles

This is a guide to Ansible Plugins. Here we discuss the Working and the list of plugins types provided by Ansible packages. You may also have a look at the following articles to learn more –

You're reading Working And Different List Of Plugins In Ansible

A Comprehensive List Of The Different Python Data Types


Python is one of the most preferred programming languages these days. It allows developers to focus all their efforts on implementation instead of complex programs and data types in python are used for that purpose only to make our work easy.

Overview of the Different Data Types

The classification or categorization of data items is known as Data types. A kind of value is signified by data type which determines what operations need to be performed on that particular data.

It is used for integral values. In python 2 versions, there was different Int and long for small and big integral values, but from python 3 it is int only.

We can represent int in 4 forms.

Decimal form ( it is by default and digits are from 0-9)

Binary form (base-2, 0, and 1)a=1111, so if do print (a)It will be a normal chúng tôi to convert it into binary, we make a change like a=0B1111So basically zero(0) small “ b” or zero(0) capital” B” is used in prefix.

Octal form (0-7 )So in this zero(0) and capital “0” or small “o” is used in prefix.

Hexadecimal (0-9, A-F)In this zero(0) and small or capital “x” is used.

Now the thing to remember is by default the answer we will get will be in decimal forms, so we can change that as well.


Float is a data type in which decimal values are there. In float, we can only have decimal no binary, oct, or hex. Eg: a=15.5 So when we see the type of “a” It will be float type.

Complex :

Print (type(x)) #so it will be complex

The real part can be binary, octal, or hex anything, but the image should be decimal only.

We can type real part in any form like binary octal or hexadecimal but not for imaginary

OB111 + 20j  it is correct. But 14+ 0B101   it is incorrect

So we can do x+y, we can do x*y  or we can do x/y  or x-y

So addition or subtraction of the complex numbers is simple. We simply do addition or subtraction of the real part of both numbers and imaginary parts of both numbers.

(a+bi)  * (c+di)   = (ac-bd) + (ad+bc)i

So whenever we multiply two complex numbers the answer we will get is by this formulae Or we have actually simplified the formula.

Simply let’s say we take two complex numbers.

a= (2 + 4j)       ,      b=  (10 + 10 j)

So now when we multiply them It will be multiplied like this-– 2 (10 + 10j) + 4j(10+10j)

– 20 + 20j  + 40j + 40j^2

And we know ^2 of imaginary part is -1. So it will become-

-20 + 60j

a= p+qj

b= r+sj

So division would be

a/b  =   pr + qs     +    qr – ps      ,  x= under root of (r^2 + s^2)

———          ——–

X                    x

This complex is used much in machine learning or mathematics specific queries.


But one thing is to remember that the first letters should be in the capital True, False

a=True Type (a)

It will show bool

So let’s take an example.

it will show false

The type would be

Print (type(c))


Now one more thing to remember is True =1 and False =0

So if we print (True + True)

The answer would be 2 (1+1)

And if we print (True-False) The answer would be 1  (1-0)


So in string data type, we can use single, double, or triple quotes. So for eg: S= ”Aashish”


We can print type(s) it will give us string

Also s = ”a”

It will also give string unlike java etc because in java etc it must have given it as a character. but there is no data type as a character in python

Now comes the triple quotes. If we have to write the string in multiple lines, then we cannot use single or double quotes, what we can use is single triple quotes or double triple quotes

Like eg :




One more thing we need to know now is the let say we have one statement. Like-

s= Aashish is a very ‘good’ boy

Now in the above statement if we want that Good should be in quotes, so while writing the string we should know that the statement should not be in single quotes. Like-

“Aashish is a very ‘good’ boy”.

And the same goes if we want something in double-quotes, then we have to make the whole statement in a single quote. Now if we want to use both single and double quotes in a statement.

“Aashish” is a very ‘good’ boy

Then we have to put the whole statement in triple quotes.

Positive and Negative Index in strings

So there is indexing in python string, so if let say we want to access the character of the word for eg: from a=  Aashish, we want to access “i”

So we can do it like-

Print (a[4])

The first alphabet is represented by 0. Also, we can do like in python a[-1], which represents the last character.

So it will print h

Slice Operator in String: basically it’s a part of the string which is known as a slice. So to fetch that slice we use it.

Eg:  “Aashish”

In slicing let say we want only “shis”

format is s[begin : end]

Which returns from beginning to end-1. So if let’s say put s[2:6]. It will return to the 5th. Now if we are not specifying begin. Then it will start at 0 s[:5].

If are not specifying it will continue to the end s[2:]. And one case is s[:]. It will return the total string.

One more case s[5:2]. We will get an empty string, as it cannot move from 5 to 2.

And we want the output as “Aashish”

So we can do it like.

output= s[0].upper() + s[1:] print(output)

So we can do it like

output = s[0:len(s)-1]  + s[-1].upper() Print (output)

Now let’s say we need to have the first character in the capital and the last character in the capital and remaining as it is. So what we need to do is simply :

Output = s[0].upper() + s[1:len(s)-1] + s[-1].upper() Print (output )

And * operator for string data type :

Is used for concatenation, and both the arguments should be string only.

So  it can be “String” + “String” + “string” + …..

It cannot be like “String” + “Int”

Now * operator

s=”SUN” *3

So it is a string repetition operator. And used to multiply the string. One thing to notice here is one argument should be a string and the other should be an integer


The process of converting from one type to another type. 5 inbuilt functions are there-






Int: To convert from other types to the int type

Float to the int function, so like if we have 10.989 is there, so after the decimal point all digits will be gone so it will be done like int(10.989), it will give 10.

Complex to int: 10+ 20j, so int (10+20j), it will give type error, as we cannot convert complex to int type.

Bool to int:  int (True)   will give 1

String to int :String internally contains an only integral value or in base 10 only, so no hexadecimal or binary, etc.Therefore int(“15”)  will give chúng tôi (0B1111) will give an error

int(“10.5”) , again error as it is not integral value it is a float value.

Float: Convert into the float type

Or Float(0XFace) will give 64206.0

Complex to float is not possible :

float(False), then the answer would be 0.0

String to float type is also possible, only in the case when the string contains an integral value or float value but they should be specified in base 10.

Float (10)  will give 10.0

Float (0XFACE)  error

Float (“Aashish”) error

Complex Type

Complex (x)

If only one argument then it will become a real value

Complex (10)

The answer would be 10 + 0j

Complex (0B1111)  would be 15+0j

Complex (10.5) would be 10.5 + 0j

Complex (True) would be 1+0j

Complex (False) would be 0j

Complex (“String”) it should have either int or float value in base 10

Complex (x,y)

When two arguments are there one will go to real and one to the imaginary complex(10, 20) would be 10+20j.

Complex (10.5, 20.6) would be 10.5 + 20.6j

Complex (“10”, “20”)

It will give an error if we are having the string argument, we can’t have the second value as a string as well

Complex (10, “20”)

It will also give an error, the second argument can’t be a string in complex



If it is non zero then it will be True

bool(10) will give True

bool(0) will give false


bool(0.1) true

bool(0+0j)    False

bool(1+0j)  True


bool(“True”)   True

bool(“False”)   True

bool(“Yes”)  True

bool (“No”)   True

bool( “ ”)   False

If the string is empty then only it is false, otherwise if it not empty then it will be True


str(10)  “10”

str(0B1111) “15”

str(10.5)    “10.5”

str(10+20j)  “10+20j”

str(True)   “True”

str(False)  “False”

Fundamental Data Types vs Immutability

Immutable → we cannot change

Once we create an object, we cannot perform any changes in that object. If we try to change, then the new object would be created. This non-changeable behavior is immutability.

Python Data Type: Lists

These are the collection related data type.

l=[07, “Aashish”, 20,30, “Nimish”] Print type(l)

It will give a list. The list is always in square brackets. If we print (l), the order will be in the same in which we have given. So the order of perseverance is there. Duplicates objects are allowed.

Heterogenous objects are allowed, like int, string, etc. Indexing and slicing are applicable. Now,

print (l[0])

So will give the first element. And similarly -1 for the last. Now if let say we have an empty list.

l=[  ]

So we can add elements like-


We can remove elements like-


Now let say, we have-

l=[10, 20, 30, 40]

Now the list is mutable so at l[0] we can add value. Like-

l[0]= 100

So now 100 will be added to the starting. List will become l[100, 10, 20, 30, 40].

Python Data Type: Tuple

Now we will learn the data type Tuple. It is the same as the list except it is immutable, if we create one object so we cannot add or remove any object or value. It is like a read-only version of a list. We represent tuple by (10, 20,”aashish”).

Performance is better than the list. And it also uses less memory than a list.

Python Data Type: Set

Now we will learn about the new data type i.e Set. It is used for the group of objects or entities but duplicates are not allowed and I don’t care about the order. So if we have such a type of requirement then we go for the Set.


s1 = {1,2,3} s2 = {3,1,2}

So basically s1 and s2 are equal. So in the set, there is no first element no last element kind of concept. Curly brackets are used inset.

s= {10, 10, 20, “Aashish”, 30}

But output will come s= {10, 20, “Aashish”, 30}

But order can be anything. So indexing cannot be there or slice operator-

Print s[0]

Will give an error.

Heterogeneous objects are allowed.


In the list, it was appended. In set, it is added.

Append vs add

Append was used in the list to add items in the last. So add is used in the set, as we don’t know where it is going to get added.

s= {   }

So it is not known as an empty set it is known as an empty dictionary. As the dictionary gets privilege because of the frequent use of it more than the set.

If we want to create the empty set then we can create it like

s= set() Python Data Type: Frozen set

It is exactly like a set except it is immutable. Because inset we can make changes, but not in the frozen set. So we create the frozen set like-

s={ 10, 20, 30, 40} fr= frozenset(s) Print type(fr)

It will be frozen set s.

So now we cannot add or remove the values from the frozen set and will get the attribute error if we try to do that.

Python Data Type: Range

Now we will learn about the Range.

R = range(10)

So we will get 10 values starting from the 0. So basically it is an inbuilt function used in python. If we print r-

It will give 0,1,2,3,4,5,6,7,8,9

We can use it like

For x in r :    print(x)

So we will get all the values printed. How we can make the range objects.

Form:   range (n)

So will give values to 0 to n-1

Form :  range(begin : end)

So will give values from the beginning to the n-1

r= range(1, 10) For x in r :     Print (x)

So we will get 1,2,3 ….  9


Range (begin, end, increment/Decrement)

R = range(1,21,1) So 1 to 20

1,2,3,….. 20

R = Range(1, 21,2 )

1,3,5… 19

Also, we can do like for decrement

Range (20, 1, -2)

So 20, 18 ….

So now we have known things go in order in range, so wherever order is there, we can do the indexing or slicing. But the range is immutable, as the values are in sequence and if we try to add the values, an error will occur.

Python Data Type: Dict

Now we will learn about the dictionary. Dictionary is different from the above data types in the manner that it is used to represent the key values.  Represent by Dict

d={ k1: v1, k2 : V2}

So let say we have an empty dictionary

d= {   }

So we can add value like

d[100]=”Aashish” d[200]= “Ayush”

So it will look like-

{ 100 : Aashish , 200 : Ayush}

Now there would be one concern about the duplicity of the values. So duplicate keys are not allowed but values can be duplicated. S-

d[100]  = “Abhishek”

So the old value i.e Aashish will be replaced by the Abhishek, so the duplicate key is not allowed, anyhow there would be no error, but the value will get replaced by the new value.

No order there, similarly like a set. Heterogeneous values can be there. It is mutable, we can make changes. Slicing, indexing, etc are not there, due to no order.

Python Data Type: Bytes and BytesArray

l= [10, 20,30,40]

Till now it is a list. Now to convert it into the bytes we need to




Now It is used for the binary creation of the data. Bytes can only have values from 0 to 256. So basically if we add the value 256, 257 …

We will get the value error. Now in this as well indexing, slicing is there. But it is immutable, we cannot change its content. We will get an error. But if we want mutable bytes then it is known as Bytearray

l= [ 10, 20, 30, 40 ] b=bytearray(l) b[0]= 77 print(b[0])

None data type is nothing i.e no value is associated with it. To make the value available for the garbage collection-


None is also stored as object internally-

Print (type(a)) Escape Characters,  Comments, and Constants :

These are –

n  :   for the next line

t   :  for the tab space

r   : carriage return, means starting from the starting

  b : backspace

f : form feed

‘ : for single quote

“ : for double quote

\ :   for backslash symbol

We need to put # in every line.

Constants :

The things of which we cannot change the values

So as such no constant concept is there in python, but if we want the value to be constantly put it in the upper case.


For the convention purpose only.

End Notes

So we learned that Datatypes are an important concept because statistical methods and certain other things can only be used with a certain python data type. You have to analyze data differently and then categorize data otherwise it would result in a wrong analysis.


Different Types Of Logs And Their Fields In Rpa

The word “log” has probably been used or seen in at least one circumstance if you’ve worked with software for any length of time. Some frequent expressions, particularly in relation to RPA, are “Add them to logs,” “verify the logs,” “do they belong to logs?,” these are some common types of questions that arise while working with RPA.

Consider the fact that you (or your business) have recently spent a sizable amount of money on infrastructure, development, training, process identification, and robotics. You’ll want to find out how everything is doing, including how well you’re using your robots, whether you’re using them effectively, and whether your automations are working well or frequently failing.

There isn’t exactly a straightforward way to see this information at every level. Even programmers can only really monitor the performance of their automations if they witness them in action and keep an eye on the process logs. In essence, it’s impossible to find a comprehensive viewpoint in one place.

Types of Logs

The UiPath Platform has all possible capabilities for all of its important components. UiPath specific logs are based on the Nlog infrastructure (Nlog are nothing but the neutral log that work according to the different condition). These logs can be classified by different characteristics, which are as follows −

Log Category

Execution start

Execution end

Transaction start

Transaction end

Error log

Debugging Log

The log category can be judged in different ways, which describes whether the log message is designed by the physical user or is by default generated by the system itself, logs can either be −

Default Logs

generated by default itself when the execution of a project starts and ends at last, but let’s assume when a system error occurs in between and the execution stops, or when the logging settings are configured to log the execution of every activity. The events logged by this category are −

Execution of task Start is generated every time a process is started (Level = Information)

Execution of task End is generated every time when a process is finalized (Level = Information)

Transaction of task Start is generated every time a transaction within a process is started (Level = Information)

Transaction End is generated every time a transaction within a process is finalized (Level = Information)

Error Log is generated every time the execution encounters an error and stops (Level = Error)

Debugging Log (Level = Trace) is generated if the Robot Logging Setting is set to Verbose and contains activity names, types, variable values, arguments etc.

User−Defined Logs

Generated according to the process designed by the user in Studio, when using the Log Message activity or the Write Line activity.

Log Fields

Default fields

Message − The log message.

Level − Defines the log severity.

Timestamp − The exact date and time the action was performed.

FileName − The name of the .xaml file being processes

jobId − The keyId of the job process.

processName − The name of the process that should be done by bots.

processVersion − The version number of the process.

windowsIdentity − The name of the user that performed the action.

robotName − The name of the Robot

machineName − The name of the bot machine.

machineId − The id of the bot machine.

These logs are stored as JSON files, which are essentially just key−value pairs with the format “fieldx=valuex” and “fieldy=value(y).” They are delivered to the UiPath Orchestrator, which adds the following new fields −

Log message-based message.

Degree of log severity.

The timestamp shows the date and time when the action was completed.

FileName, the name of chúng tôi file being “run”.

JobId − the unique key for the job that is conducting the process.

ProcessName is the title of the process.

ProcessVersion, or the process’s version, is number seven.

WindowsIdentity − The user whose action was recorded.

RobotName, which is the name of the robot (defined in Orchestrator)

MachineName − the name of the device to which the Robot was attached when the process was being conducted.

When your logs are finished, you have a few options for where you want to put them. Your logs will automatically be forwarded to Elasticsearch and the SQL database that Orchestrator is supported by. Either confine your logs to just SQL or only Elasticsearch, or neither! The latter method is less recommended because the data is crucial for any type of analytics you choose to perform, but it is entirely up to you.

Different Alternatives Of Lucidchart In Detail

Introduction to Lucidchart

Lucidchart is a web-based platform to design diagrams, which helps us understand the requirement better and easily. This tool allows us to easily share our ideas and information within the team and effectively process this information. This Lucidchart or Lucidchart alternative helps us visualize our ideas and information that others can understand. With the help of these, we can increase productivity because they help us implement things very fast and with all clarity we need.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

We have so many alternatives for Lucidchart at present. Some are paid, and some are free, which can be used according to the need. Here we will see each alternative we have in detail with some guidance to use it effectively; also, we can design UML diagrams, flowcharts, database representation and much more quickly.

List of Lucidchart Alternative

Here we will see different alternatives we have for Lucidchart at present; we will see each in detail to know how to use it when needed.

1. SmartDraw

As we can see, it provides us with support and compatibility with various tools available.

So it can be the best choice to be the alternative for Lucidchart.

Usage of SmartDraw:

Process Management

Technical Drawing

Visual Communication

Data Flow Diagram

Mind Mapping

List of UML Tools

List of Concept- And Mind-Mapping Software


List of Concept Mapping Software

Operating System:


Windows 10

Windows 7



1. Go to their official website by typing the below link.

2. They will ask for a sign up which you can create or use the existing one if you have one.

3. After this, we can create the diagram according to our needs.



1. First type chúng tôi in the browser, then you will navigate to the below URL:

3. Creately

This is also one of the alternatives for Lucidchart we have. This tool comes up with two editions; one is offline, and another one is cloud-based. Creately is a Saas-based tool that helps us easily visualize ideas, information, and business requirements as part of the process.

Below is the list of areas where we can use this tool to increase productivity and stabilize things.



Technical Drawing

Data Flow Diagram

Mind Mapping

Data Visualization

Flow Charts

Business Charts

Projects Charts

Organizational Charts

Mind Maps


Operation System





1. To use it, go to their official website by typing the following link in the browser.

2. After signing up, you can start using this tool; it has all the options available to create the desired diagram.

You will see the below page once you start with it.

4. Gliffy

This is also one of the alternatives we have for Lucidchart, which is easily accessible also. This tool is based on HTML5 and is a cloud-based app. It is also used to serve the same purpose that we are discussing to create the diagrams. It helps us to create flowcharts, UML, and many more things. It also helps us to share ideas and information easily and clearly with the organization.


Floor Plans

Flow Charts


Venn Diagrams

Also, we can design some other kinds of diagrams online only.

Browsers List:

Internet Explorer 9+

Google Chrome




1. To use this tool, we can easily type in the URL in the browser to start with it.

2. After this, we need to sign up to use it. Then only, we can start using the tool.

You will see the below page on the browser for Gliffy.

Conclusion – Lucidchart Alternative

We have many options for Lucidchart alternatives; some are free, and some are paid. We can go ahead with any tools that suit our requirements better. But these tools are very helpful for the organization to understand the need and increase the team’s productivity.

Recommended Articles

This is a guide to Lucidchart Alternative. Here we discuss the introduction and the list of Lucidchart alternative for better understanding. You may also have a look at the following articles to learn more –

Syntax And Different Examples Of Db2 Like

Introduction to DB2 LIKE

DB2 LIKE statement is used to get the Boolean value after the mentioned expression contains a characteristic or a particular part of the string inside the original expression mentioned. The pattern string can contain many characters in it. Some of which can be regular characters, while other ones can be special characters which are also referred to as wildcards. This is the same pattern that we are trying to search and retrieve from the main original string. Here, we will see how we can use the LIKE operator to recognize any particular string inside the main or the original string inside. We are trying to search the pattern, its syntax and the implementation, and certain examples.

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

Syntax of DB2 LIKE

The syntax of the LIKE operator is as shown below:

The LIKE operator returns the Boolean value as it is a logical operator. It returns the true value when it finds the specified pattern followed by the main string or expression which we have specified. Note that we can specify the regular characters containing alphabets and numbers as well as special characters like other symbols such as #, %,$, {,}, etc.. inside the pattern string that we will specify. In the above syntax, the name of the column can be any column whose value will be in varchar datatype or can be implicitly converted to varchar datatype.

We can use the LIKE operator inside the SELECT, UPDATE or even the DELETE operator. It is not necessary that we use the LIKE operator for columns only. It can also be used for expressions that evaluate to a string value. Further, we have to specify the pattern, which is the string that we are trying to search for in our column of expression, which can be a combination of regular and special characters. The special characters having the symbols _ and % are called as wildcard characters. They have special meaning when specified in a pattern. When % is used we mean that zero or more number of occurrences of any characters can be present over there. While the use of _ in the pattern means that we can have any single occurrence of character at that particular space.

For example, when we specify “%as” the pattern then what we mean is that the expression or column can have any number of the characters at the beginning of the string. However, it should end with as in the end. Suppose that now we specify the pattern containing _ in it. Our pattern is “s_r”, which means that the column value or expression should evaluate to a value that should be beginning with s and ending with r, containing any one character between them such as sir, sar, etc.

If the column value or the expression contains any special characters which are wild card characters like _ of %, then they can be escaped by specifying it as the escape character, when they are escaped using the escape character they are considered as the regular characters inside the main column or expression.

Examples of DB2 LIKE

Given below are the examples of DB2 LIKE:

Let us now consider certain examples that will help us understand how we can use the LIKE operator to make the efficient detection of a particular pattern inside the string.

Firstly, we will search for a pattern inside the column values of a particular table.

Consider a table named employee_details that contains all the information related to each of the employees in it. When we try to retrieve the data of that table we can make the use of the following query statement.


SELECT * FROM [employee_details]

The execution of above query statement gives the following output with all the details in it.



SELECT * FROM [employee_details] WHERE mobile_number LIKE "914568524_";

The execution of above query statement gives the following output with all the details of an employee whose number has 914568524 as the first 9 digits of it.


Let us consider one more example on the column name l_name of the employee_details table and try to retrieve all the employees whose last name ends with “NI”. In order to do that, our search pattern will be “%NI” which means that the column value of the string can precede with any number of the characters in the beginning, but it should end with NI characters only.


SELECT * FROM [employee_details] where l_name LIKE "%NI" ;


Now, suppose that we have to get the details of employee name and mobile number of the employees that have joined in either 6th month of 6th date or 6th year. Then we can say that the joining date should include 06 in it. This can be done using the pattern “%06%” specifying that the string can contain any characters in the beginning and even at the ending but should contain 06 in it.


SELECT f_name as Name , mobile_number as "Contact Number" FROM [employee_details] where joining_date LIKE "%06%" ;

The execution of above query statement gives the following output with all the details of an employee having 06 in the joining date column.



We can make the use of the LIKE operator in DB2 to get a Boolean value which helps to determine whether a particular column or string value follows the specified pattern.

Recommended Articles

This is a guide to DB2 LIKE. Here we discuss the introduction and the examples of the DB2 LIKE for a better understanding. You may also have a look at the following articles to learn more –

Learn The Different Versions Of Kotlin In Detail

Introduction to Kotlin version

Web development, programming languages, Software testing & others

Version of Kotlin

In July 2011, JetBrains performed some research and explored a new language that blends well with the JVM nicely.

Jetbrains being the initiator, decided and checked some of the features that it had was with an exception in Scala. The exception was that the scale was slow due to the slow compilation; it was not recommended because kotlin needs to compile faster.

In 2012 kotlin came with the next version where it made the entire project open source under Apache 2 license.

Kotlin released its first stable version, 1.0, on February 15 2024, which Jet Brains have committed to having long-term backward compatibility within it.

With the same released, supported by Google I/O 2023 for kotlin on android.

Kotlin released its next version, which is 1.2, which was released on November 28 2023, which has the ability to share code between JVM and JavaScript platform feature that was newly aggregated as part of a release. In fact, an entire Java full-stack demo was made with Kotlin/JS Gradle plugin.

Kotlin 1.3 was released on October 29, 2023, making asynchronous programming more evolved.

Kotlin, with its all major changes, was released in August 2023 with some slight changes for apple’s platform in c or Swift programming language.

These were overview on the broad level now; let’s see some of the versions with their characteristics with each release :

# Kotlin 1.1 Beta 2: This was the first beta release based on the previous discussion on features and extractions. Then kotlin 1.1 released with the candidate stage; in a sense, almost all the development work was done, and on March 1, 2023, it got released with JavaScript support and coroutines, etc., which was a big step to move further.

# Kotlin 1.1.1: This version release was made on March 14 2023, with a focus on address regression and was basically a bug fixing update for 1.1.

#Kotlin 1.0.7: This version of kotlin is the latest update used to update the back portion of the program.

# Kotlin 1.1.2: This version of the kotlin release was made on April 25 2023, which is used for bug fixing and tool update for kotlin to improve the performance.

# Kotlin/Native 0.2: Again, this version was released on May 12 2023, with feature and bug fixing to update the technology review.

# Kotlin/Native 0.3: This version was released on June 22 2023, with some of the new releases for modification and working with some windows related issues.

# Kotlin 1.1.3: This version was released on une 23, 2023, with some of the new tooling updates for kotlin 1.1.

# Kotlin 1.2 M2:  This version was released on August 9 2023, which primarily focuses on the stability of the language and internal compilation.

# Kotlin 1.1.4: This version release is related to new bug fixing and tool updates for some of the deprecations.

# Kotlin 1.1.50: Another version was released on September 22 2023, with a bug fix and update for 1.1.

# Kotlin 1.1.60: This is a version released on November 13 2023, a bug fix version for updating the kotlin 1.1 version released earlier.

# Kotlin 1.2: The actual release of version 1.2 was made on November 28 2023, which is used to share platforms for version release.

# Kotlin 1.2.20: This version was released for a new bugfix and tooling update for which had added support for Gradle build cache and improved compilation for android apps.

# kotlin/Native version 0.7: This version of release was made on April 27 2023, which emphasized making the entire language smoother interop, frozen objects, optimizations, and many more features for working.

# Kotlin 1.2.50: This version of the release was made on June 14 2023, for Kotlin update of the previous version of bug fixing.

# Kotlin/Native v0.8: This version of the Kotlin release is a news release that is used for safer concurrent programming extending the other features and enhancing it.

# Kotlin 1.3 M2: This was the release made on August 19 2023, which was a breakthrough release because of the second milestone, which has set up the release of some new features like improves smart-casting and other compile-time analyses, Standard library functions for unsigned types and collections.

# Kotlin 1.3 RC: Next great release with a lot of updated features was made on September 20, 2023, with a lot of critical bug fixing available on previous versions of the release made earlier.

# Kotlin 1.3.70: The last flagged release of Kotlin with this range of release was made on March 3 2023, with all the updates and bug fixing in this kotlin.

# Kotlin 1.4 M1: This release was made on March 23 2023, with key improvisation and new features like enabled the type inference algorithm, contracts are, and evolutionary changes in the standard library.

# Kotlin 1.4.30: This Kotlin is released on February 4 2023, which got released with a new JVM backend and multiplatform language changes.

# Kotlin 1.5.0 M2 released: The last release for Kotlin 1.5.0-M2 was made on March 29, 2023, which ensured smooth migration from all the previous releases made so far with a lot of feature enhancement and improvisation.


Kotlin is a programming language that is nowadays quite a preferable language over android language for front-end development and programming. It is quite an adaptable language because of easy syntax and flexibility for quick compilation with Java in the environment. It has a lot of features that make it quite versatile.

Recommended Articles

This is a guide to the Kotlin version. Here we discuss that Kotlin language has a history of versions associated with it to illustrate. You may also have a look at the following articles to learn more –

Update the detailed information about Working And Different List Of Plugins In Ansible on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!