# Binäre Optionen Erfahrungen - Bei Verlusten ist sofort zu ...

• Binäre Optionen Erfahrungen - Bei Verlusten ist sofort zu ...
• Binary Options Deutsch
• Category:Banc De Binary - Wikimedia Commons
• FiNMAX - Handel mit binären Optionen online.
• Our Online Trading Platform In The News - IQ Option
• Binäre Optionen Broker Vergleich – Die Top Anbieter im Test
• Wikipedia Binare Optionen
• Binary Options Deutsch Games - Blogger

# Boolean data type

In computer science, the Boolean data type is a data type that has one of two possible values (usually denoted true and false) which is intended to represent the two truth values of logic and Boolean algebra. It is named after George Boole, who first defined an algebraic system of logic in the mid 19th century. The Boolean data type is primarily associated with conditional) statements, which allow different actions by changing control flow depending on whether a programmer-specified Boolean condition evaluates to true or false. It is a special case of a more general logical data type (see probabilistic logic)—logic doesn't always need to be Boolean.

## Generalities

In programming languages with a built-in Boolean data type, such as Pascal) and Java), the comparison operators such as > and ≠ are usually defined to return a Boolean value. Conditional and iterative commands may be defined to test Boolean-valued expressions.
Languages with no explicit Boolean data type, like C90 and Lisp), may still represent truth values by some other data type. Common Lisp uses an empty list for false, and any other value for true. The C programming language uses an integer) type, where relational expressions like i > j and logical expressions connected by && and || are defined to have value 1 if true and 0 if false, whereas the test parts of if , while , for , etc., treat any non-zero value as true.[1][2] Indeed, a Boolean variable may be regarded (and implemented) as a numerical variable with one binary digit (bit), which can store only two values. The implementation of Booleans in computers are most likely represented as a full word), rather than a bit; this is usually due to the ways computers transfer blocks of information.
Most programming languages, even those with no explicit Boolean type, have support for Boolean algebraic operations such as conjunction (AND , & , * ), disjunction (OR , | , + ), equivalence (EQV , = , == ), exclusive or/non-equivalence (XOR , NEQV , ^ , != ), and negation (NOT , ~ , ! ).
In some languages, like Ruby), Smalltalk, and Alice) the true and false values belong to separate classes), i.e., True and False , respectively, so there is no one Boolean type.
In SQL, which uses a three-valued logic for explicit comparisons because of its special treatment of Nulls), the Boolean data type (introduced in SQL:1999) is also defined to include more than two truth values, so that SQL Booleans can store all logical values resulting from the evaluation of predicates in SQL. A column of Boolean type can also be restricted to just TRUE and FALSE though.

## ALGOL and the built-in boolean type

One of the earliest programming languages to provide an explicit boolean data type is ALGOL 60 (1960) with values true and false and logical operators denoted by symbols ' ∧ {\displaystyle \wedge } 📷' (and), ' ∨ {\displaystyle \vee } 📷' (or), ' ⊃ {\displaystyle \supset } 📷' (implies), ' ≡ {\displaystyle \equiv } 📷' (equivalence), and ' ¬ {\displaystyle \neg } 📷' (not). Due to input device and character set limits on many computers of the time, however, most compilers used alternative representations for many of the operators, such as AND or 'AND' .
This approach with boolean as a built-in (either primitive or otherwise predefined) data type was adopted by many later programming languages, such as Simula 67 (1967), ALGOL 68 (1970),[3] Pascal) (1970), Ada) (1980), Java) (1995), and C#) (2000), among others.

## Fortran

The first version of FORTRAN (1957) and its successor FORTRAN II (1958) have no logical values or operations; even the conditional IF statement takes an arithmetic expression and branches to one of three locations according to its sign; see arithmetic IF. FORTRAN IV (1962), however, follows the ALGOL 60 example by providing a Boolean data type (LOGICAL ), truth literals (.TRUE. and .FALSE. ), Boolean-valued numeric comparison operators (.EQ. , .GT. , etc.), and logical operators (.NOT. , .AND. , .OR. ). In FORMAT statements, a specific format descriptor ('L ') is provided for the parsing or formatting of logical values.[4]

## Lisp and Scheme

The language Lisp) (1958) never had a built-in Boolean data type. Instead, conditional constructs like cond assume that the logical value false is represented by the empty list () , which is defined to be the same as the special atom nil or NIL ; whereas any other s-expression is interpreted as true. For convenience, most modern dialects of Lisp predefine the atom t to have value t , so that t can be used as a mnemonic notation for true.
This approach (any value can be used as a Boolean value) was retained in most Lisp dialects (Common Lisp, Scheme), Emacs Lisp), and similar models were adopted by many scripting languages, even ones having a distinct Boolean type or Boolean values; although which values are interpreted as false and which are true vary from language to language. In Scheme, for example, the false value is an atom distinct from the empty list, so the latter is interpreted as true.

The language Pascal) (1970) introduced the concept of programmer-defined enumerated types. A built-in Boolean data type was then provided as a predefined enumerated type with values FALSE and TRUE . By definition, all comparisons, logical operations, and conditional statements applied to and/or yielded Boolean values. Otherwise, the Boolean type had all the facilities which were available for enumerated types in general, such as ordering and use as indices. In contrast, converting between Boolean s and integers (or any other types) still required explicit tests or function calls, as in ALGOL 60. This approach (Boolean is an enumerated type) was adopted by most later languages which had enumerated types, such as Modula, Ada), and Haskell).

## C, C++, Objective-C, AWK

Initial implementations of the language C) (1972) provided no Boolean type, and to this day Boolean values are commonly represented by integers (int s) in C programs. The comparison operators (> , == , etc.) are defined to return a signed integer (int ) result, either 0 (for false) or 1 (for true). Logical operators (&& , || , ! , etc.) and condition-testing statements (if , while ) assume that zero is false and all other values are true.
After enumerated types (enum s) were added to the American National Standards Institute version of C, ANSI C (1989), many C programmers got used to defining their own Boolean types as such, for readability reasons. However, enumerated types are equivalent to integers according to the language standards; so the effective identity between Booleans and integers is still valid for C programs.
Standard C) (since C99) provides a boolean type, called _Bool . By including the header stdbool.h , one can use the more intuitive name bool and the constants true and false . The language guarantees that any two true values will compare equal (which was impossible to achieve before the introduction of the type). Boolean values still behave as integers, can be stored in integer variables, and used anywhere integers would be valid, including in indexing, arithmetic, parsing, and formatting. This approach (Boolean values are just integers) has been retained in all later versions of C. Note, that this does not mean that any integer value can be stored in a boolean variable.
C++ has a separate Boolean data type bool , but with automatic conversions from scalar and pointer values that are very similar to those of C. This approach was adopted also by many later languages, especially by some scripting languages such as AWK.
Objective-C also has a separate Boolean data type BOOL , with possible values being YES or NO , equivalents of true and false respectively.[5] Also, in Objective-C compilers that support C99, C's _Bool type can be used, since Objective-C is a superset of C.

## Perl and Lua

Perl has no boolean data type. Instead, any value can behave as boolean in boolean context (condition of if or while statement, argument of && or || , etc.). The number 0 , the strings "0" and "" , the empty list () , and the special value undef evaluate to false.[6] All else evaluates to true.
Lua) has a boolean data type, but non-boolean values can also behave as booleans. The non-value nil evaluates to false, whereas every other data type always evaluates to true, regardless of value.

## Tcl

Tcl has no separate Boolean type. Like in C, the integers 0 (false) and 1 (true - in fact any nonzero integer) are used.[7]
Examples of coding:
set v 1 if { $v } { puts "V is 1 or true" } The above will show "V is 1 or true" since the expression evaluates to '1' set v "" if {$v } ....
The above will render an error as variable 'v' cannot be evaluated as '0' or '1'

## Python, Ruby, and JavaScript

Python), from version 2.3 forward, has a bool type which is a subclass) of int , the standard integer type.[8] It has two possible values: True and False , which are special versions of 1 and 0 respectively and behave as such in arithmetic contexts. Also, a numeric value of zero (integer or fractional), the null value (None ), the empty string), and empty containers (i.e. lists), sets), etc.) are considered Boolean false; all other values are considered Boolean true by default.[9] Classes can define how their instances are treated in a Boolean context through the special method __nonzero__ (Python 2) or __bool__ (Python 3). For containers, __len__ (the special method for determining the length of containers) is used if the explicit Boolean conversion method is not defined.
In Ruby), in contrast, only nil (Ruby's null value) and a special false object are false, all else (including the integer 0 and empty arrays) is true.
In JavaScript, the empty string ("" ), null , undefined , NaN , +0, −0 and false [10] are sometimes called falsy (of which the complement) is truthy) to distinguish between strictly type-checked and coerced Booleans.[11] As opposed to Python, empty containers (arrays , Maps, Sets) are considered truthy. Languages such as PHP also use this approach.

## Next Generation Shell

Next Generation Shell, has Bool type. It has two possible values: true and false . Bool is not interchangeable with Int and have to be converted explicitly if needed. When a Boolean value of an expression is needed (for example in if statement), Bool method is called. Bool method for built-in types is defined such that it returns false for a numeric value of zero, the null value, the empty string), empty containers (i.e. lists), sets), etc.), external processes that exited with non-zero exit code; for other values Bool returns true. Types for which Bool method is defined can be used in Boolean context. When evaluating an expression in Boolean context, If no appropriate Bool method is defined, an exception is thrown.

## SQL

Main article: Null (SQL) § Comparisons with NULL and the three-valued logic (3VL)#Comparisonswith_NULL_and_the_three-valued_logic(3VL))
Booleans appear in SQL when a condition is needed, such as WHERE clause, in form of predicate which is produced by using operators such as comparison operators, IN operator, IS (NOT) NULL etc. However, apart from TRUE and FALSE, these operators can also yield a third state, called UNKNOWN, when comparison with NULL is made.
The treatment of boolean values differs between SQL systems.
For example, in Microsoft SQL Server, boolean value is not supported at all, neither as a standalone data type nor representable as an integer. It shows an error message "An expression of non-boolean type specified in a context where a condition is expected" if a column is directly used in the WHERE clause, e.g. SELECT a FROM t WHERE a , while statement such as SELECT column IS NOT NULL FROM t yields a syntax error. The BIT data type, which can only store integers 0 and 1 apart from NULL, is commonly used as a workaround to store Boolean values, but workarounds need to be used such as UPDATE t SET flag = IIF(col IS NOT NULL, 1, 0) WHERE flag = 0 to convert between the integer and boolean expression.
In PostgreSQL, there is a distinct BOOLEAN type as in the standard[12] which allows predicates to be stored directly into a BOOLEAN column, and allows using a BOOLEAN column directly as a predicate in WHERE clause.
In MySQL, BOOLEAN is treated as an alias as TINYINT(1)[13], TRUE is the same as integer 1 and FALSE is the same is integer 0.[14], and treats any non-zero integer as true when evaluating conditions.
The SQL92 standard introduced IS (NOT) TRUE, IS (NOT) FALSE, IS (NOT) UNKNOWN operators which evaluate a predicate, which predated the introduction of boolean type in SQL:1999
The SQL:1999 standard introduced a BOOLEAN data type as an optional feature (T031). When restricted by a NOT NULL constraint, a SQL BOOLEAN behaves like Booleans in other languages, which can store only TRUE and FALSE values. However, if it is nullable, which is the default like all other SQL data types, it can have the special null) value also. Although the SQL standard defines three literals) for the BOOLEAN type – TRUE, FALSE, and UNKNOWN – it also says that the NULL BOOLEAN and UNKNOWN "may be used interchangeably to mean exactly the same thing".[15][16] This has caused some controversy because the identification subjects UNKNOWN to the equality comparison rules for NULL. More precisely UNKNOWN = UNKNOWN is not TRUE but UNKNOWN/NULL.[17] As of 2012 few major SQL systems implement the T031 feature.[18] Firebird and PostgreSQL are notable exceptions, although PostgreSQL implements no UNKNOWN literal; NULL can be used instead.[19]

Data typesUninterpreted
Numeric
Pointer)
Text
Composite
Other
Related topics

## References

1. "PostgreSQL: Documentation: 10: 8.6. Boolean Type". www.postgresql.org. Archived from the original on 9 March 2018. Retrieved 1 May 2018.
Categories:

### Languages

• 📷
• 📷

##### /r/AskHistorians Guide on Finding Family Military Service Records and Military Identification

Hello everyone! We get a fair number of questions here the relate to family history, and specifically military service. There is often little that can be done however, aside from pointing someone in the right direction for their own research, so with that in mind, I've been working for the past few weeks on putting together a guide on retrieving military service records, as well as identifying from photos or uniforms just what Gramps or Grams was doing in the war. This guide will be permanently available on our Wiki (And don't forget to try /Genealogy too for these things!), but it is still a work in progress.
I'd first like to give a major shout-out to the users who helped me by writing out the procedures for several foreign countries I was unfamiliar with (See below), as well as all the flairs who offered their advice and critique. There is still more to add, so I welcome additions from countries that are not yet listed, or suggestions for how to improve sections already here, since I might have made a mistake or two. I'd especially welcome improved resources for the non-American Identification sections, as in many cases I was hard pressed to find quality material to include.
Anyways, without further ado, here you go!

## United States

### Requesting Records:

The US government makes available the basic records of service members to next of kin through the National Archives and Records Administration. The most common request is for the DD-214, Certificate of Release or Discharge from Active Duty (or earlier, comparable document). As the next of kin, this can be requested online through the National Archives free of charge. Some records are made available online through the Archival Databases.
Be aware that, due to a fire in 1973, the records available are incomplete, with a significant amount of loss occurring for US Army records during World War II (Other branches were not affected). The government has done their best to reconstruct the data from other sources, but it is quite possible that a request cannot be fulfilled, so take that into account when you submit the request for a DD-214.
If you are not the next-of-kin (researching an uncle, for instance), since records that are 62+ years old are considered archival, they are accessible to the general public (which you count as if you are not a parent/spouse/child/sibling), but as a non-relation, require a fee, which varies with the amount of paperwork requested. Non-next of kin must use the SF-180 form to request the records. Full procedure can be found here.
For records of service prior to World War I, however, the process is slightly different, and while still ordered online, it is done through here, and there is a fee attached regardless of being related or not. An alternative, although not always guaranteed, is to go through a service such as Ancestry.com, which has digitized tons and tons of records and makes them available to their paying subscribers. You can often find muster rolls and other military records in their collection, spanning from the Revolution up through World War II. While there is a cost associated with the service, they offer free trials, and often open up the military records to free accounts on military holidays such as Memorial Day or Veterans Day.

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Rank Medals/Ribbons/Decorations
Navy Navy Insignia Navy Medals and Ribbons
Marines Marine Insignia Marine Awards and Decorations
Air Force See Army pre-1947 Air Force Insignia Air Force Awards and Decorations

US Army Branch Insignia, US Army Division Insignia, US Army Brigade Insignia, US Army Field Group and Field Army Insignia, Other US Army Insignia, Obsolete Badges and Awards, WWI Era Markings.
US Marine Corps Regimental Insignias, USMC Badges
US Coast Guard Units, Insignia, Badges, and other Information

### Requesting Records

Library and Archives Canada holds records for Canadian military service dating back to the 1700s, and are working to digitize their records, with much of that from 1918 and earlier already accessible online here. Records from post-1918 are restricted, and may only be accessed under certain conditions, but is accessible to the veteran themselves, or next of kin if deceased. If you wish to request copies of military service files for post-1918, including World War II, you can find more information on the process here.
As with American records, an alternative, although not always guaranteed, is to go through a service such as Ancestry.ca, which has digitized tons and tons of records and makes them available to their paying subscribers. While there is a cost associated with the service, they offer free trials, and often open up the military records to free accounts on military holidays.
In the case of a person killed in action, the Commonwealth War Graves Commission includes a searchable database of all persons killed in action in the various British and Commonwealth forces during the World Wars, which includes some information.
The Red Cross files for the WWI prisoners are available on the ICRC.

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Rank Awards
Royal Canadian Navy, for post-1950 see here Navy Ranks Current Awards and Medals and Decorations

RCAF Crests, Logos and Insignia

## United Kingdom

### Requesting Records

Military service records from prior to 1920 are available through the British National Archives, specifically for World War I service, and for service through 1913. Much of the information is accessible online through Ancestry.co.uk or FindMyPast.co.uk, which do involve fees, although the sites offer free trial periods and periodically make military records free to everyone for certain holidays. Documents can be accessed free of charge by visiting the Archives, but copies do cost money, whether done in person or by request Be aware that some records may have been destroyed by during the bombings of London in World War II.
Post-1920 records are requested from the UK Government, and can be requested by the next of kin. The spouse of a service member may request the records if they are deceased (and the service member themselves), but all other persons pay a £30 fee.
In the case of a person killed in action, the Commonwealth War Graves Commission includes a searchable database of all persons killed in action in the various British and Commonwealth forces during the World Wars, which includes some information.
The Red Cross files for the WWI prisoners are available on the ICRC.

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Rank Awards
Royal Navy Navy Ranks Medal Ribbons
Royal Marines RM Ranks Medal Ribbons

British Army Corps and Regimental Insignia, British Army Division and Brigade Insignia, Regiments c. WWI, WWII Era Formation Badges, Standards and Cap Badges. For Victorian Era Ranks.
Royal Marine Unit Insignia, and Badges Generally.

## Australia

### Requesting Records

Australian military records can be found through both the Australian War Memorial and the National Archives of Australia. Records for more recent service are requested through the Department of Defense.
The Australian War Memorial provides for the searching of various rolls, and provides basic biographical information off of them, such as with this example or this one. Many of the records are digitized.
The National Archives of Australia holds service records from the through World War II. Boer War, World War I, and World War II records are digitized and can be viewed online. Navy Officers and Petty and Enlisted Men are digitized as well in a separate collection. To order physical copies of documents, select "Request a Copy" on the Item Detail Page in RecordSearch
Korean and Vietnam records are held by the Department of Defence. They are searchable, but the original documents are not digitiezed. Copies can be requested through the National Archives of Australia.
In the case of a person killed in action, the Commonwealth War Graves Commission includes a searchable database of all persons killed in action in the various British and Commonwealth forces during the World Wars, which includes some information.
The Red Cross files for the WWI prisoners are available on the ICRC.

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Insignia Awards
Australian Army Ranks Medals and Awards
Royal Australian Navy Ranks Medals and Awards
Royal Australian Air Force Ranks Medals and Awards

"It's An Honour", "Researching Australian Military Service, Australian Campaign Medals, AIF Badges, Badges and Emblems
List of RAN Ships, Navy Badges

## New Zealand

### Requesting Records

Archives New Zealand holds NZ Military files through World War II, collected into various series, which can be accessed on their website. Most documents through World War I are digitized, and original documents can be accessed in person at the Archives:
Archives New Zealand, National Office, Wellington 10 Mulgrave Street Wellington 6011 04 499 5595 [email protected]
Copies may be made of the documents during your visit using personal cameras.
Many World War II Files are in the New Zealand Defence Force Archives, and are not all digitized. They can be accessed in person at the Archives, or copies requested by contacting them at:
NZDF Archives Personnel Enquiries Trentham Military Camp Private Bag 905, Upper Hutt 5140 04 527 5280 [email protected]
Some digitized files can be viewed through the Auckland War Memorial Museum.
In the case of a person killed in action, the Commonwealth War Graves Commission includes a searchable database of all persons killed in action in the various British and Commonwealth forces during the World Wars, which includes some information.
The Red Cross files for the WWI prisoners are available on the ICRC.

### IDing Photos or Uniforms:

#### Ranks and Awards

See British Rank Insignia. New Zealand Ribbons / Medals

New Zealand at War, Veteran's Affairs

## Netherlands

### Requesting Records

For records prior to 1900, the best sources are the Central Bureau for Genealogy (CBG) and the National Archives (NA). The CBG website is easy to use; for the NA you may find contacting them by phone or mail easier. The Netherlands Institute of Military History (NIMH) also may have some information, though "[w]hat the NIMH mainly has to offer is a wealth of general information about life in the military in the past". Note that the information provided here has been taken from the various NIMH pages available via the link above.
There are a few specialized databases, such as this one containing information concerning sea-voyagers (including soldiers) upon ships between 1700 and 1795 who sailed to the Orient, a database of Dutch soldiers in service of Napoleon 1810-1813, and Officers' name and rank lists (1725-1989) (the latter two only available in-person at the NIMH).
For records of people born after 1900 you have to contact the Semi-static Archives Services of the Ministry of Defence. This can only be done in writing. You need to include the full name and date of birth of the person you are looking for, as well as a copy of your own identity document. The address is:
Netherlands Ministry of Defence Afdeling Semi-Statische Archiefdiensten (SSA) (Semi-static Archives Services) P.O. Box 7000 6460 NC Kerkrade Netherlands
There are separate records for members of the Royal Netherlands East Indies Army (KNIL) born after 1900. These records are kept by the Stichting Administratie Indonesische Pensioenen (SAIP) (Foundation for Registration of Indonesian Pensions) (link in Dutch)
(Kudos to Polybios)

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

For World War II Era Army, Naval, and Air Force Insignia, see here. Additionally, many Dutch pilots flew in squadrons organized by other allied powers. For Dutch India Colonial Insignia. Handboek Onderscheidingen (Handbook Decorations [PDF, Dutch] includes pictures of all medals and ribbons awarded to Dutch military personnel.

Orders, Decorations and Medals of the Kingdom of the Netherlands, Dutch Ribbons, Military Insignia
Ships of the RNN

## France

### Requesting Records

A lot of the records up to WWI have been digitalised and published on the sites of the Archives Départementales.
To find the man you're looking for, you need to know 1) his year of birth, 2) where he was living when he was 20.
Once you know that, you calculate his "classe", which is his birth year + 20 years. Then you find from which "Bureau" his location depended from (a few Bureaux were set in a different département). Using the "Tables alphabétiques", you find his "numéro matricule" (serial number), then in the "Registres matricules", you find his personal record using said number.
Records for people born after 1901 are not publically available, so you have to prove your close family link with the person, unless you can prove that he's been dead for more than 25 years.
Mémoire des hommes has databases for the soldiers dead during the 20th century wars and war burials. You can also find the regiment diaries for WWI, and part of the (currently being indexed) registries for Napoleon's army.
La base Léonore contains the files for the recipients of the Légion d'honneur who died before 1977. (Some files have been lost, though.)
The Red Cross files for the WWI prisoners are available on the ICRC.
(Kudos to snakeling)

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Ranks Awards
French Army Pre-1914, WWI Officer and WWI Enlisted, WWII Awards
French Navy Insignia Awards
French Air Force Insignia Awards

Army Collar Insignia, Beret Insignias
Air Force Insignia

## Germany

### Requesting Records

For members of the former Wehrmacht, one can request all of their records with the Deutsche Dienststelle (WASt). However, it is not possible to obtain records of surviving combatants without their permission. It is only possible to obtain information on members of the former Wehrmacht who died either in the field or in captivity, and then only with permission from the next of kin. There is an associated cost, depending on the difficulty and amount of records requested, but it is around 20€ to 30€.
The Federal Archive - Branch Office Ludwigsburg (Central Office for the Investigation of National Socialist Crimes, e-mail: [email protected]) houses data on units involved in war crimes, the scenes of these crimes, suspects and culprits, as well as persons who were mentioned in the investigations of said crimes. Therefore, it might be useful to check these archives if the searched person was part of units suspected of war crimes.
The Federal Archive - Department MA (Military Archives) houses files on :
• Prussian army from 1867 Onward
• Army of the North German Confederation
• Kaiserliche Marine
• Colonial Protection Force and the Freikorps
• Reichswehr,
• Wehrmacht
• Waffen-SS
• German Work Units in the service of the allied forces
• National People's Army
• Bundeswehr
However, this needs to be taken with a grain of salt. The Department MA has lost vast amounts of its files due to war. Most of the files are war diaries written by army commanders and files on the navy.
Department R (Reich) has the largest pool of documents (from almost all eras), but these are mainly of a civil administrative nature (justice, finance, etc.).
Kirchlicher Suchdienst is focused on persons from the former eastern territories, the Balkans or the Baltic states. It also has an archive of letters, including letters from war captivity. May be costy.
Volksbund Deutsche Kriegsgräberfürsorge e. V. an provide useful information when looking for war graves.
Additionally, the German Red Cross Tracing Service offers services that allow one to trace any missing person, be it civilian or military. This may not be the best place to look for military records, but it is a good start nonetheless.
(Kudos to ScanianMoose)

### IDing Photos or Uniforms:

If you are looking to try and identify information based off of a uniform or from a photograph, these resources may prove to be of use.

#### Ranks and Awards

Branch Insignia Awards
German Army Deutsches Heer, Reichswehr, Heer Imperial, Third Reich
German Navy Kaiserliche Marine, Kriegsmarine Imperial, Third Reich
German Air Force Luftwaffe Third Reich
Waffen-SS Insignia Third Reich

Badges, Insignia, and Other Stuff, Wehrmacht and SS Militaria
(1871-1918) German Army & Navy Uniforms & Insignia