WordPress at a glance
function is not described

wpdb::set_sql_mode() public WP 3.9.0

Changes the current SQL mode, and ensures its WordPress compatibility.

If no modes are passed, it will ensure the current MySQL server modes are compatible.

It's a method of the class: wpdb{}

Hooks from the method
Return

Null. Nothing.

Usage

$wpdb = new wpdb();
$wpdb->set_sql_mode( $modes );
$modes(array)
A list of SQL modes to set.
Default: empty array

Changelog

Since 3.9.0 Introduced.

Code of wpdb::set_sql_mode() WP 5.5.1

<?php
public function set_sql_mode( $modes = array() ) {
	if ( empty( $modes ) ) {
		if ( $this->use_mysqli ) {
			$res = mysqli_query( $this->dbh, 'SELECT @@SESSION.sql_mode' );
		} else {
			$res = mysql_query( 'SELECT @@SESSION.sql_mode', $this->dbh );
		}

		if ( empty( $res ) ) {
			return;
		}

		if ( $this->use_mysqli ) {
			$modes_array = mysqli_fetch_array( $res );
			if ( empty( $modes_array[0] ) ) {
				return;
			}
			$modes_str = $modes_array[0];
		} else {
			$modes_str = mysql_result( $res, 0 );
		}

		if ( empty( $modes_str ) ) {
			return;
		}

		$modes = explode( ',', $modes_str );
	}

	$modes = array_change_key_case( $modes, CASE_UPPER );

	/**
	 * Filters the list of incompatible SQL modes to exclude.
	 *
	 * @since 3.9.0
	 *
	 * @param array $incompatible_modes An array of incompatible modes.
	 */
	$incompatible_modes = (array) apply_filters( 'incompatible_sql_modes', $this->incompatible_modes );

	foreach ( $modes as $i => $mode ) {
		if ( in_array( $mode, $incompatible_modes, true ) ) {
			unset( $modes[ $i ] );
		}
	}

	$modes_str = implode( ',', $modes );

	if ( $this->use_mysqli ) {
		mysqli_query( $this->dbh, "SET SESSION sql_mode='$modes_str'" );
	} else {
		mysql_query( "SET SESSION sql_mode='$modes_str'", $this->dbh );
	}
}